融合动态执行和语义推理的软件演化错误定位及应用研究

基本信息
批准号:61572481
项目类别:面上项目
资助金额:67.00
负责人:刘剑
学科分类:
依托单位:中国科学院信息工程研究所
批准年份:2015
结题年份:2019
起止时间:2016-01-01 - 2019-12-31
项目状态: 已结题
项目参与者:孙可钦,汪孙律,易秋萍,林渝淇,李威威,陈坚,江帆,崔光范
关键词:
程序分析符号执行回归测试错误自动定位和修复
结项摘要

Fault localization is one of important topics in software research community and software industry. Currently, most of existing works on fault localization focus on debugging a single version programs. However, with the rise of new development technologies such as agile development, rapid iteration and open source software repositories, software development model has undergone new changes. Software engineers would not write programs from the scratch, but often re-use or inherit a lot of existing or legacy code from software repositories. In such a new development process, how to improve efficiency of the debugging activities become urgent and necessary. In this project, some new software fault location methods will be discussed intensively. ..We will in first summary some fundamental program analysis techniques, in which dynamic slicing and semantic analysis will be considered in depth. New fault localization methods for a single version program will be proposed. After that, fault localization for evolving software systems, the most important topic in this project, will be researched. We will discuss how to improve the debugging process by synergistic analysis of multiple version programs with multiple analysis methods. In the last part, automatic program repair and regression verification will also be considered, because they are related to fault localization techniques and often discussed together. ..Besides the research on new methodology and technique , a series of computer aided software development tools will be developed and released following our planning. We are looking forward that these methods and tools will be useful to analyze real software systems.

软件错误和缺陷的分析、定位一直备受软件工业界和学术界的关注。现有的软件错误定位研究工作主要集中于单个程序错误分析方法上。近年来随着敏捷开发、快速迭代、开源软件等新技术新概念的出现,软件开发的模式发生了新的变化。软件系统的开发很少从零开始,往往重用或继承大量的已有代码或遗留代码。在这样的开发模式下如何提高错误分析的效率越来越显得迫切和必要。本课题将对软件错误定位的方法进行综合性的研究,课题首先讨论动态分析、语义推理以及单一版本程序的错误定位方法及优化技术。在此基础之上,重点讨论软件演化中错误的自动定位方法,着重考虑如何利用多版本的软件信息和各种技术的优势,提高错误定位的精确度和效率。同时,课题也将对错误自动修复、回归验证等相关领域进行研究,以期在更多的研究领域和应用环境拓展我们的工作。最终,课题将研发相关工具原型,针对实际软件系统进行应用评估,形成系统化、完善的研究工作。

项目摘要

软件错误/缺陷(Bug)分析是软件工程关注的重要问题,同时在软件安全、网络空间安全中占有重要的地位,是构建可信、安全信息系统不可或缺的关键环节。但是,现有的缺陷分析方法主要基于传统的动静态分析技术,未能充分利用当前的“富”软件信息。随着敏捷开发、快速迭代、开源软件等趋势的兴起,软件开发的模式发生了新的变化。软件系统的开发很少从零开始,程序员往往重用或继承大量第三方代码或遗留代码,在这样的开发模式下如何提高缺陷分析的效率显得越来越迫切和必要。..项目以面向软件演化的缺陷分析技术作为主要研究目标,讨论在开源软件、快速迭代软件开发的模式下,如何利用软件本身以及多版本程序演化的信息提高软件错误或安全漏洞分析的效率和准确度。以动静态融合的程序缺陷测试、缺陷定位和缺陷利用为基本路线,探索了符号执行等多种优化技术的本质问题,在理论方法层面取得一定突破;基于软件演化的特点,突破错误分析中如何综合应用相关信息资源,例如,软件版本升级、软件补丁、软件注释等,融合传统的语义推理和人工智能技术,结合动静态分析、文本信息分析和历史分析信息,面向大规模的软件数据,提高软件缺陷分析的规模和效率;以安全需求为目标,突破程序中多缺陷、特定缺陷类型的自动分析和利用技术,以Android系统、Linux操作系统等重要基础软件为目标对象,为构造自动利用(Exploit)代码做出有意义的探索。..项目研究贡献在于围绕软件缺陷的“分析-定位-利用”开展了较为系统的研究。项目的工作既对一些重要基础性方法进行了深入探索,回答了本质问题;又突破动态分析、语义推理、智能分析等多种错误分析技术之间的“壁垒”,提高了错误分析多个阶段的效率,为将来多种技术的融合应用作出了示范。同时,还面向软件安全的需求,尝试将缺陷分析方法应用于基础软件的安全研究中,为成果的实际应用指明了潜在的方向。..通过项目的实施,围绕软件缺陷和软件安全分析形成了一支由年轻人员组成科研队伍,并与国内外知名研究单位建立了稳定合作关系,促进相关领域的基础性研究。项目的成果应用前景广阔,所提出的方法、研发的工具、收集的数据在软件开发和软件安全方面均有较好的预期效益,对构建可信安全信息系统具有参考指导意义。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

玉米叶向值的全基因组关联分析

玉米叶向值的全基因组关联分析

DOI:
发表时间:
2

正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究

正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究

DOI:10.19713/j.cnki.43-1423/u.t20201185
发表时间:2021
3

硬件木马:关键问题研究进展及新动向

硬件木马:关键问题研究进展及新动向

DOI:
发表时间:2018
4

基于LASSO-SVMR模型城市生活需水量的预测

基于LASSO-SVMR模型城市生活需水量的预测

DOI:10.19679/j.cnki.cjjsjj.2019.0538
发表时间:2019
5

基于SSVEP 直接脑控机器人方向和速度研究

基于SSVEP 直接脑控机器人方向和速度研究

DOI:10.16383/j.aas.2016.c150880
发表时间:2016

刘剑的其他基金

批准号:11605003
批准年份:2016
资助金额:19.00
项目类别:青年科学基金项目
批准号:51771218
批准年份:2017
资助金额:60.00
项目类别:面上项目
批准号:11904202
批准年份:2019
资助金额:26.00
项目类别:青年科学基金项目
批准号:51371184
批准年份:2013
资助金额:80.00
项目类别:面上项目
批准号:51604182
批准年份:2016
资助金额:20.00
项目类别:青年科学基金项目
批准号:62103099
批准年份:2021
资助金额:10.00
项目类别:青年科学基金项目
批准号:51574142
批准年份:2015
资助金额:66.00
项目类别:面上项目
批准号:21373018
批准年份:2013
资助金额:80.00
项目类别:面上项目
批准号:61201364
批准年份:2012
资助金额:24.00
项目类别:青年科学基金项目
批准号:51774169
批准年份:2017
资助金额:60.00
项目类别:面上项目
批准号:21602185
批准年份:2016
资助金额:21.00
项目类别:青年科学基金项目
批准号:60772159
批准年份:2007
资助金额:32.00
项目类别:面上项目
批准号:51408615
批准年份:2014
资助金额:25.00
项目类别:青年科学基金项目
批准号:51605317
批准年份:2016
资助金额:18.00
项目类别:青年科学基金项目
批准号:51707110
批准年份:2017
资助金额:20.00
项目类别:青年科学基金项目
批准号:30471969
批准年份:2004
资助金额:21.00
项目类别:面上项目
批准号:60802053
批准年份:2008
资助金额:20.00
项目类别:青年科学基金项目
批准号:51174265
批准年份:2011
资助金额:45.00
项目类别:联合基金项目
批准号:21573007
批准年份:2015
资助金额:64.00
项目类别:面上项目
批准号:81700647
批准年份:2017
资助金额:19.00
项目类别:青年科学基金项目
批准号:51202132
批准年份:2012
资助金额:25.00
项目类别:青年科学基金项目
批准号:51007066
批准年份:2010
资助金额:18.00
项目类别:青年科学基金项目
批准号:61674146
批准年份:2016
资助金额:60.00
项目类别:面上项目
批准号:20774076
批准年份:2007
资助金额:24.00
项目类别:面上项目

相似国自然基金

1

面向理解的软件错误定位方法:状态转移概率推理建模

批准号:61202092
批准年份:2012
负责人:王甜甜
学科分类:F0203
资助金额:24.00
项目类别:青年科学基金项目
2

基于进化优化的大型软件演化中的错误定位

批准号:61673384
批准年份:2016
负责人:姜淑娟
学科分类:F0305
资助金额:60.00
项目类别:面上项目
3

传感网软件并发错误的动态检测与定位技术研究

批准号:61402197
批准年份:2014
负责人:孙玉霞
学科分类:F0203
资助金额:23.00
项目类别:青年科学基金项目
4

基于启发式选择变异和软件行为特征挖掘的软件错误定位方法

批准号:61672191
批准年份:2016
负责人:苏小红
学科分类:F0203
资助金额:62.00
项目类别:面上项目