当前位置: X-MOL 学术IEEE Trans. Parallel Distrib. Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Towards Efficient Large-scale Interprocedural Program Static Analysis on Distributed Data-Parallel Computation
IEEE Transactions on Parallel and Distributed Systems ( IF 5.3 ) Pub Date : 2021-04-01 , DOI: 10.1109/tpds.2020.3036190
Rong Gu , Zhiqiang Zuo , Xi Jiang , Han Yin , Zhaokang Wang , Linzhang Wang , Xuandong Li , Yihua Huang

Static program analysis has been widely applied along the whole process of the program development for bug detection, code optimization, testing, etc. Although researchers have made significant work in static program analysis, it is still challenging to perform sophisticated interprocedural analysis on large-scale modern software. The underlying reason is that interprocedural analysis for large-scale modern software is highly computation- and memory-intensive, leading to poor efficiency and scalability. In this article, we introduce an efficient distributed and scalable solution for sophisticated static analysis. Specifically, we propose a data-parallel algorithm and a join-process-filter computation model for the CFL-reachability-based interprocedural analysis. Based on that, an efficient distributed static analysis engine called BigSpa is developed, which is composed of an offline batch static program analysis system and an online incremental static program analysis system. The BigSpa system has high generality and can support all kinds of static analysis tasks that can be expressed as CFL reachability problems. The performance of BigSpa is evaluated on real-world large-scale software datasets. Our experiments show that the offline batch system can exceed an order of magnitude compared with the most advanced analysis tools available on performance, and for incremental analysis with small batch updates on the same data sets, the online analysis system can achieve near real-time response, which is very fast and flexible.

中文翻译:

面向分布式数据并行计算的高效大规模程序间程序静态分析

静态程序分析已广泛应用于程序开发的整个过程,用于错误检测、代码优化、测试等。 尽管研究人员在静态程序分析方面做了大量工作,但在大规模执行复杂的过程间分析仍然具有挑战性。现代软件。根本原因是大规模现代软件的过程间分析是高度计算和内存密集型的,导致效率和可扩展性较差。在本文中,我们介绍了一种用于复杂静态分析的高效分布式和可扩展解决方案。具体来说,我们为基于 CFL 可达性的过程间分析提出了一种数据并行算法和一种连接过程过滤器计算模型。基于此,开发了高效的分布式静态分析引擎BigSpa,由离线批量静态程序分析系统和在线增量静态程序分析系统组成。BigSpa 系统具有较高的通用性,可以支持各种可以表示为 CFL 可达性问题的静态分析任务。BigSpa 的性能是在真实世界的大型软件数据集上进行评估的。我们的实验表明,离线批处理系统在性能上可以超过最先进的分析工具一个数量级,对于相同数据集上小批量更新的增量分析,在线分析系统可以实现近乎实时的响应,这是非常快速和灵活的。由离线批量静态程序分析系统和在线增量静态程序分析系统组成。BigSpa 系统具有较高的通用性,可以支持各种可以表示为 CFL 可达性问题的静态分析任务。BigSpa 的性能是在真实世界的大型软件数据集上进行评估的。我们的实验表明,离线批处理系统在性能上可以超过最先进的分析工具一个数量级,对于相同数据集上小批量更新的增量分析,在线分析系统可以实现接近实时的响应,这是非常快速和灵活的。由离线批量静态程序分析系统和在线增量静态程序分析系统组成。BigSpa 系统具有较高的通用性,可以支持各种可以表示为 CFL 可达性问题的静态分析任务。BigSpa 的性能是在真实世界的大型软件数据集上进行评估的。我们的实验表明,离线批处理系统在性能上可以超过最先进的分析工具一个数量级,对于相同数据集上小批量更新的增量分析,在线分析系统可以实现接近实时的响应,这是非常快速和灵活的。BigSpa 的性能是在真实世界的大型软件数据集上进行评估的。我们的实验表明,离线批处理系统在性能上可以超过最先进的分析工具一个数量级,对于相同数据集上小批量更新的增量分析,在线分析系统可以实现接近实时的响应,这是非常快速和灵活的。BigSpa 的性能是在真实世界的大型软件数据集上进行评估的。我们的实验表明,离线批处理系统在性能上可以超过最先进的分析工具一个数量级,对于相同数据集上小批量更新的增量分析,在线分析系统可以实现接近实时的响应,这是非常快速和灵活的。
更新日期:2021-04-01
down
wechat
bug