软件数值稳定性缺陷的检测与修复技术研究

基本信息
批准号:61772260
项目类别:面上项目
资助金额:62.00
负责人:汤恩义
学科分类:
依托单位:南京大学
批准年份:2017
结题年份:2021
起止时间:2018-01-01 - 2021-12-31
项目状态: 已结题
项目参与者:赵建华,翟娟,王兴亚,石浚菁,沈维军,张初成,赵祖威,王协,张韶阳
关键词:
软件测试静态程序分析缺陷检测数值稳定性缺陷自动修复
结项摘要

The concept of software numerical stability is the ability that a software system keeps its numerical output in a specified range when its input and intermediate values have small changes. It is often an obligate property for most numerical systems, especially the safety-critical systems. In contrast, numerical instabilities and defects are often caused by errors when programmers lack the experience and techniques in numerical programming. Nowadays, numbers of numerical defects still exist in several common numerical libraries. Hence, automatically detecting the defects of numerical (in)stability is an important, but difficult topic concerned by both academia and industry. When the automatic bug-fixing is even more difficult, engineers usually fix numerical defects manually. This project will explore the solutions of detecting and fixing numerical defects with the following 3 aspects: First we extract feature combinations in error propagation by deep learning in software, and guide the test case generation accurately. Second we extend the numerical significant and perturb the program in various precisions, so the approach diagnoses defects precisely. Finally we analyze the global semantics of the program with backward symbolic computation, and explore the techniques of automatic fixing on defects of numerical stability in software.

软件系统的数值稳定性是指系统在其数值型输入和(或)局部计算结果发生微小变化时,其数值型输出仍能保持在给定范围内的能力。数值稳定性在很多情况下是软件系统、特别是安全攸关系统必须保持的性质,数值计算部分的误差积累没有得到有效处理和编程人员缺乏相关编程经验是数值稳定性不能保持(即存在数值稳定性缺陷)的主要原因,当前即使在常用的数值计算函数库中也仍然存在相当数量的数值稳定性缺陷。随着软件系统规模和复杂性的不断增大,程序中的数值稳定性缺陷检测一直是学术界和工业界共同关注的难题,而缺陷检测后的修复问题更是难上加难、当前主要依赖于人工解决。本项目拟针对软件数值稳定性缺陷检测和修复问题、从以下方面进一步探索有效的解决途径:由深度学习获得程序片段的误差组合特征,更加精准地制导测试用例生成;通过数值拓展与多种精度的程序扰动准确判定稳定性缺陷;结合反向符号计算实现针对缺陷的全局语义分析,探寻缺陷修复的解决方案。

项目摘要

软件的数值稳定性是软件系统、特别是安全攸关软件系统必须保持的性质,也是影响软件可靠性的重要因素之一,随着软件规模的增加,依靠人工来排查与修复软件的数值稳定性缺陷已经难以满足实际需求。本项目计划从实践出发,结合各领域的相关前沿技术,研究软件数值稳定性缺陷的自动检测、自动诊断以及自动修复方法,从而使软件在数值稳定性问题上获得直接保障。.课题组按照项目计划,围绕既定的科学问题和研究内容,在规定的时间内顺利完成了各项研究任务,并取得了良好成果。在搜索空间约减、数值稳定性缺陷度量、以及数值稳定性缺陷自动定位和修复方面取得了突出进展,并在数值稳定性缺陷的安全攻击与防护、人工智能环境下的数值稳定性分析、数值稳定性的领域应用研究方面取得了一定的延伸。课题组在奠定实用数值稳定性分析理论研究的基础上,在本项目的实施过程中设计并实现了一套完整的数值稳定性缺陷检测、诊断、定位、修复工具链原型系统。在项目执行过程中,课题组已在国际期刊、高水平国际会议、国内一级学报及核心期刊发表高质量论文 12 篇,形成了6项发明专利,并完成1项软件著作权登记,所有论文均标注本基金资助。在项目执行期间,课题组培养了3名博士生取得了博士学位,15名硕士生取得了硕士学位。课题组在连续两届的中国软件大会(China Soft 2020,ChinaSoft 2021) 上分别以 “非确定性的软件质量保障方法”和“领域软件工程”为主题组织了学术论坛,起到增进学术交流,拓展学术思路的作用。在成果转化方面,课题组与华为技术有限公司建立了合作关系并顺利实施了专利许可,为进一步的研究工作奠定了良好基础。

项目成果
{{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

主控因素对异型头弹丸半侵彻金属靶深度的影响特性研究

主控因素对异型头弹丸半侵彻金属靶深度的影响特性研究

DOI:10.13465/j.cnki.jvs.2020.09.026
发表时间:2020
5

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

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

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

汤恩义的其他基金

批准号:61402222
批准年份:2014
资助金额:26.00
项目类别:青年科学基金项目

相似国自然基金

1

面向软件静态检测缺陷的推荐与评估技术研究

批准号:61802394
批准年份:2018
负责人:许丽丽
学科分类:F0205
资助金额:27.00
项目类别:青年科学基金项目
2

软件缺陷修复动作的识别与推荐

批准号:61672045
批准年份:2016
负责人:王千祥
学科分类:F0203
资助金额:63.00
项目类别:面上项目
3

面向高并发软件系统的动态缺陷检测技术研究

批准号:61802223
批准年份:2018
负责人:刘浛
学科分类:F0203
资助金额:26.00
项目类别:青年科学基金项目
4

基于知识探索的软件缺陷智能化修复关键技术研究

批准号:61872312
批准年份:2018
负责人:孙小兵
学科分类:F0203
资助金额:63.00
项目类别:面上项目