测试驱动的自动程序修复方法研究

基本信息
批准号:61872273
项目类别:面上项目
资助金额:63.00
负责人:玄跻峰
学科分类:
依托单位:武汉大学
批准年份:2018
结题年份:2022
起止时间:2019-01-01 - 2022-12-31
项目状态: 已结题
项目参与者:Martin Monperrus,任志磊,贾向阳,冯在文,顾咏丰,程国力,王蕊,程航远,张玉虎
关键词:
补丁生成测试驱动开发基于搜索的软件工程测试用例程序修复
结项摘要

Software defects are inevitable and expensive in modern software development. Automatic program repair is important to reduce the cost of software development and has strong potential to benefit real-world projects. Test case based program repair aims to generate code patches to fix software defects via passing all the given test cases, which are designed by developers. Based on generated patches via automatic program repair, developers can save their manual effort in fixing defects. In this proposal, we review existing work and propose to study automatic approaches to test driven program repair by summarizing a series of research questions as follows: (1) from the perspective of program language support, how to generate patches by leveraging more features of the program language; (2) from the perspective of defect scenario analysis, how to extract execution paths to repair defects, which trigger crash scenarios; (3) from the perspective of repair behavior learning, how to learn from historical repair behaviors by developers to guide new patch generation; (4) from the perspective of multi-location patch generation, how to transfer patch generation with multiple locations into the one with single locations. Based on our preliminary work in handling software defects, we systematically propose a research routine and an experimental scheme. This proposal will provide effective solutions and support real-world applications for automatic program repair.

现代软件开发中,软件缺陷不可避免且修复成本高昂。自动程序修复方法对降低软件开发成本十分重要,并且具有较强的应用前景。基于测试用例的程序修复旨在自动的生成代码补丁,以顺利执行由开发者编写的全部测试用例,进而修复软件缺陷。以自动修复方法生成的补丁为基础,开发者能够大幅度节省人工缺陷修复的开销。本课题基于对该领域相关工作的回顾,研究测试驱动的程序修复方法。该课题归纳了一系列研究问题:(1)从程序语言支持层面,如何生成补丁以支持更多的程序语言特性;(2)从缺陷场景分析层面,如何提取程序执行路径以修复造成软件崩溃的缺陷;(3)从修复行为学习层面,如何学习开发者的历史修复行为并指导新的补丁生成;(4)从多位置补丁生成层面,如何将多位置补丁生成转换为单位置补丁生成。基于软件缺陷相关的初步成果,我们提出了系统的研究路线和实验方案。本课题的实施将为自动程序修复研究提供有效的解决方案和实际应用基础。

项目摘要

现代软件开发中,软件缺陷不可避免且修复成本高昂。自动程序修复方法对降低软件开发成本十分重要,并且具有较强的应用前景。基于测试用例的程序修复旨在自动的生成代码补丁,以顺利执行由开发者编写的全部测试用例,进而修复软件缺陷。以自动修复方法生成的补丁为基础,开发者能够大幅度节省人工缺陷修复的开销。本课题基于对该领域相关工作的回顾,研究测试驱动的程序修复方法,包括程序语言支持、缺陷场景分析、修复行为学习、多位置补丁生成四个层面。提出了系统的研究路线、实验方案、实验数据和原型工具。本课题的实施将为自动程序修复研究提供有效的解决方案和实际应用基础。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

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

暂无此项成果

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

其他相关文献

1

一种光、电驱动的生物炭/硬脂酸复合相变材料的制备及其性能

一种光、电驱动的生物炭/硬脂酸复合相变材料的制备及其性能

DOI:10.16085/j.issn.1000-6613.2022-0221
发表时间:2022
2

基于二维材料的自旋-轨道矩研究进展

基于二维材料的自旋-轨道矩研究进展

DOI:10.7498/aps.70.20210004
发表时间:2021
3

F_q上一类周期为2p~2的四元广义分圆序列的线性复杂度

F_q上一类周期为2p~2的四元广义分圆序列的线性复杂度

DOI:10.11999/JEIT210095
发表时间:2021
4

平行图像:图像生成的一个新型理论框架

平行图像:图像生成的一个新型理论框架

DOI:10.16451/j.cnki.issn1003-6059.201707001
发表时间:2017
5

基于LBS的移动定向优惠券策略

基于LBS的移动定向优惠券策略

DOI:10.3969/j.issn.1005-2542.2020.02.009
发表时间:2020

玄跻峰的其他基金

批准号:61502345
批准年份:2015
资助金额:21.00
项目类别:青年科学基金项目

相似国自然基金

1

基于蜕变测试技术的自动程序修复方法研究

批准号:61802349
批准年份:2018
负责人:江明月
学科分类:F0203
资助金额:26.00
项目类别:青年科学基金项目
2

基于变异的程序自动化修复方法研究

批准号:61103003
批准年份:2011
负责人:马春燕
学科分类:F0203
资助金额:21.00
项目类别:青年科学基金项目
3

微处理器高层功能验证测试程序自动生成的理论与方法

批准号:60303011
批准年份:2003
负责人:郭阳
学科分类:F0209
资助金额:7.00
项目类别:青年科学基金项目
4

知识驱动的自动化程序理解方法与支持系统研究

批准号:60403015
批准年份:2004
负责人:张路
学科分类:F0203
资助金额:22.00
项目类别:青年科学基金项目