摘要
在信息化时代,人们对软件的质量要求越来越高.程序分析是保障软件质量的重要手段之一,日益受到学术界和产业界的重视.介绍了若干基本程序分析技术(抽象解释、数据流分析、基于摘要的分析、符号执行、动态分析、基于机器学习的程序分析等),特别是最近10余年的研究进展.进而介绍了针对不同类型软件(移动应用、并发软件、分布式系统、二进制代码等)的分析方法.最后展望了程序分析未来的研究方向和所面临的挑战.
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.
作者
张健
张超
玄跻峰
熊英飞
王千祥
梁彬
李炼
窦文生
陈振邦
陈立前
蔡彦
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;Institute of Computing Technology,Chinese Academy of Sciences,Beijing 100190,China;School of Computer,National University of Defense Technology,Changsha 410073,China)
出处
《软件学报》
EI
CSCD
北大核心
2019年第1期80-109,共30页
Journal of Software
基金
国家重点基础研究发展计划(973)(2014CB340701)
中国科学院前沿科学重点项目(QYZDJ-SSW-JSC036)
国家自然科学基金(61772308
U1736209
61872273
61672045
61472440
61632015
61872445
61502465)~~
关键词
程序分析
软件质量保障
静态分析
动态分析
program analysis
software quality assurance
static analysis
dynamic analysis