Automatic program repair (APR) has recently gained attention because it proposes to fix software defects with no human intervention. To automatically fix defects, most APR tools use the developer-written tests to (a) localize the defect, and (b) generate and validate the automatically produced candidate patches based on the constraints imposed by the tests. While APR tools can produce patches that appear to fix the defect for 11-19% of the defects in real-world software, most of the patches produced are not correct or acceptable to developers because they overfit to the tests used during the repair process. This problem is known as the patch overfitting problem. To address this problem, I propose to equip APR tools with additional constraints derived from natural-language software artifacts such as bug reports and requirements specifications that describe the bug and intended software behavior but are not typically used by the APR tools. I hypothesize that patches produced by APR tools while using such additional constraints would be of higher quality. To test this hypothesis, I propose an automated and objective approach to evaluate the quality of patches and propose two novel methods to improve the fault localization and developer-written test suites using natural-language software artifacts. Finally, I propose to use my patch evaluation methodology to analyze the effect of the improved fault localization and test suites on the quality of patches produced by APR tools for real-world defects.


翻译:自动程序修补( APR) 最近引起了人们的注意, 因为它建议修补软件缺陷, 而没有人为干预。 为了自动修补缺陷, 大部分 APR 工具使用开发者编写的测试来(a) 将缺陷本地化, 以及 (b) 根据测试的限制, 生成和验证自动产生的候选补丁。 虽然 APR 工具可以产生补丁, 似乎可以修正真实世界软件11- 19 % 缺陷的缺陷, 但所产生的大部分补丁对于开发者来说并不正确或不可接受, 因为他们过度适应修复过程中使用的测试。 这个问题被称为补补补问题 。 为了解决这个问题, 我提议用天然语言软件的错误化和开发测试套件等自然语言软件工艺的附加限制, 例如描述错误报告和要求规格, 描述错误和预期的软件行为, 但不一般由 APR 工具使用。 我假设说, 在使用这些额外限制的同时, 编补补的补丁对于开发者来说是质量更高的。 为了检验补缺缺的质, 我提议一种自动化和客观的方法来改进本地的补缺损测试套。 我建议用自然语言的补缺损测试工具来改进本地的校正。

0
下载
关闭预览

相关内容

Automator是苹果公司为他们的Mac OS X系统开发的一款软件。 只要通过点击拖拽鼠标等操作就可以将一系列动作组合成一个工作流,从而帮助你自动的(可重复的)完成一些复杂的工作。Automator还能横跨很多不同种类的程序,包括:查找器、Safari网络浏览器、iCal、地址簿或者其他的一些程序。它还能和一些第三方的程序一起工作,如微软的Office、Adobe公司的Photoshop或者Pixelmator等。
【文本生成现代方法】Modern Methods for Text Generation
专知会员服务
43+阅读 · 2020年9月11日
专知会员服务
52+阅读 · 2020年9月7日
【KDD2020-Tutorial】自动推荐系统,Automated Recommendation System
Python图像处理,366页pdf,Image Operators Image Processing in Python
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
152+阅读 · 2019年10月12日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
CCF推荐 | 国际会议信息6条
Call4Papers
9+阅读 · 2019年8月13日
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
已删除
将门创投
4+阅读 · 2018年11月15日
计算机类 | 国际会议信息7条
Call4Papers
3+阅读 · 2017年11月17日
【计算机类】期刊专刊/国际会议截稿信息6条
Call4Papers
3+阅读 · 2017年10月13日
Arxiv
0+阅读 · 2021年6月8日
Arxiv
0+阅读 · 2021年6月8日
Arxiv
0+阅读 · 2021年6月7日
Arxiv
3+阅读 · 2018年4月3日
VIP会员
相关资讯
CCF推荐 | 国际会议信息6条
Call4Papers
9+阅读 · 2019年8月13日
计算机 | CCF推荐期刊专刊信息5条
Call4Papers
3+阅读 · 2019年4月10日
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
已删除
将门创投
4+阅读 · 2018年11月15日
计算机类 | 国际会议信息7条
Call4Papers
3+阅读 · 2017年11月17日
【计算机类】期刊专刊/国际会议截稿信息6条
Call4Papers
3+阅读 · 2017年10月13日
Top
微信扫码咨询专知VIP会员