###
Journal of Software:2019.30(1):80-109

程序分析研究进展
张健,张超,玄跻峰,熊英飞,王千祥,梁彬,李炼,窦文生,陈振邦,陈立前,蔡彦
(计算机科学国家重点实验室(中国科学院 软件研究所), 北京 100190;中国科学院大学, 北京 100049;清华大学 网络科学与网络空间研究院, 北京 100084;武汉大学 计算机学院, 湖北 武汉 430072;高可信软件技术教育部重点实验室(北京大学), 北京 100871;华为技术有限公司, 北京 100095;中国人民大学 信息学院, 北京 100872;中国科学院大学, 北京 100049;中国科学院 计算技术研究所, 北京 100190;国防科技大学 计算机学院, 湖南 长沙 410073)
Recent Progress in Program Analysis
ZHANG Jian,ZHANG Chao,XUAN Ji-Feng,XIONG Ying-Fei,WANG Qian-Xiang,LIANG Bin,LI Lian,DOU Wen-Sheng,CHEN Zhen-Bang,CHEN Li-Qian,CAI Yan
(State Key Laboratory of Computer Science(Institute of Software, Chinese Academy of Sciences), Beijing 100190, China;University of Chinese Academy of Sciences, Beijing 100049, China;Institute for Network Sciences and Cyberspace, Tsinghua University, Beijing 100084, China;School of Computer Science, Wuhan University, Wuhan 430072, China;Key Laboratory of High Confidence Software Technologies of Ministry of Education(Peking University), Beijing 100871, China;Huawei Technologies Co. Ltd., Beijing 100095, China;School of Information, Renmin University of China, Beijing 100872, China;University of Chinese Academy of Sciences, Beijing 100049, China;Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China;School of Computer, National University of Defense Technology, Changsha 410073, China)
Abstract
Chart / table
Reference
Similar Articles
Article :Browse 3562   Download 2658
Received:August 08, 2018    Revised:August 30, 2018
> 中文摘要: 在信息化时代,人们对软件的质量要求越来越高.程序分析是保障软件质量的重要手段之一,日益受到学术界和产业界的重视.介绍了若干基本程序分析技术(抽象解释、数据流分析、基于摘要的分析、符号执行、动态分析、基于机器学习的程序分析等),特别是最近10余年的研究进展.进而介绍了针对不同类型软件(移动应用、并发软件、分布式系统、二进制代码等)的分析方法.最后展望了程序分析未来的研究方向和所面临的挑战.
Abstract:In the information age, people are increasingly demanding high quality of software systems. Program analysis is one of the important approaches to guarantee the quality of software, and has been receiving attentions from academia and industry. This article mainly focuses on the research progress in program analysis in the last decade. First, the article introduces the basic program analysis techniques, including abstract interpretation, data flow analysis, summary-based analysis, symbolic execution, dynamic analysis, machine learning-based program analysis, etc. Then, it summarizes program analysis approaches for different types of software systems, including mobile applications, concurrent software, distributed systems, binary code, etc. Finally, the article discusses potential research directions and challenges of program analysis in the future.
文章编号:     中图分类号:    文献标志码:
基金项目:国家重点基础研究发展计划(973)(2014CB340701);中国科学院前沿科学重点项目(QYZDJ-SSW-JSC036);国家自然科学基金(61772308,U1736209,61872273,61672045,61472440,61632015,61872445,61502465) 国家重点基础研究发展计划(973)(2014CB340701);中国科学院前沿科学重点项目(QYZDJ-SSW-JSC036);国家自然科学基金(61772308,U1736209,61872273,61672045,61472440,61632015,61872445,61502465)
Foundation items:National Key Basic Research Program of China (973) (2014CB340701); Frontier Science Project of Chinese Academy of Sciences (QYZDJ-SSW-JSC036); National Natural Science Foundation of China (61772308, U1736209, 61872273, 61672045, 61472440, 61632015, 61872445, 61502465)
Reference text:

张健,张超,玄跻峰,熊英飞,王千祥,梁彬,李炼,窦文生,陈振邦,陈立前,蔡彦.程序分析研究进展.软件学报,2019,30(1):80-109

ZHANG Jian,ZHANG Chao,XUAN Ji-Feng,XIONG Ying-Fei,WANG Qian-Xiang,LIANG Bin,LI Lian,DOU Wen-Sheng,CHEN Zhen-Bang,CHEN Li-Qian,CAI Yan.Recent Progress in Program Analysis.Journal of Software,2019,30(1):80-109