陆申明,左志强,王林章.静态程序分析并行化研究进展.软件学报,2020,31(5):1243-1254 |
静态程序分析并行化研究进展 |
Progress in Parallelization of Static Program Analysis |
投稿时间:2019-09-01 修订日期:2019-10-24 |
DOI:10.13328/j.cnki.jos.005950 |
中文关键词: 静态程序分析 软件质量保障 并行计算 分布式处理 GPU加速 |
英文关键词:static program analysis software quality assurance parallel computing distributed processing GPU acceleration |
基金项目:国家自然科学基金(61802168);江苏省自然科学基金(BK20191247) |
|
摘要点击次数: 1303 |
全文下载次数: 1066 |
中文摘要: |
静态程序分析发展至今,已在多个方面取得了长足的进步,应用于软件开发的众多方面.但对现代大规模复杂软件系统(如千万行代码规模的Linux操作系统、分布式大数据处理系统Hadoop等)进行高精度的静态分析,因其极大规模数据量的计算,仍有一定难度.精度、效率和可扩展性相互制约,是静态分析技术在工业界应用的主要障碍.对此,近年来,随着多核、众核架构的兴起,研究人员提出了静态分析的各种并行化解决方案.首先梳理了静态分析的发展历程,然后针对当前静态分析面临的挑战,在分析了传统算法优化研究的不足后,对利用硬件资源进行并行优化的方法进行了充分讨论,包括单机的CPU并行、分布式和GPU实现这3个方面;在此基础上,对一些使用较为广泛的支持并行的静态分析工具进行了评估;最后,对未来如何从算法和算力角度对静态分析进行并行优化作了讨论和展望. |
英文摘要: |
After years of research, static program analysis has made great progress in many aspects. However, performing sophisticated program analysis over large-scale software systems (such as Linux kernel, Hadoop, etc.) is still challenging due to its high complexity. To address the poor scalability of static analysis, with the rise of multi-core computation architectures, researchers have proposed various parallel static analysis techniques. This paper first introduces the basic concepts of static analysis, the key techniques, and the challenges. Then the traditional optimization approaches are discussed followed by the studies in parallelizing static analysis in three categories—CPU parallelism, distributed and GPU implementation, and the representative parallel static analysis tools. Finally, the potential research trend in parallelizing static analysis is described. |
HTML 下载PDF全文 查看/发表评论 下载PDF阅读器 |