自动化程序修复中代码删除补丁的综合研究
软件工程
2022-05-06 v3
摘要
自动程序修复(Automatic Program Repair, APR)技术有望帮助降低调试成本。许多相关 APR 技术遵循生成—验证方法,即通过对缺陷程序迭代地应用不同变更算子进行修改,再以测试套件验证,直至生成看似合理的补丁。特别地,Kali 是一种为探究仅通过删除代码来生成看似合理补丁之可能性而开发的生成—验证技术。既往研究表明,Kali 确实成功修复了若干故障。本文探讨自动化程序修复中代码删除补丁的案例,研究使其得以生成的原因与场景,以及其与开发者所实现补丁的关系。我们的研究揭示,代码删除补丁常不足以修复缺陷,并提出了一套代码删除补丁的综合分类法,为测试套件可能存在的问题提供了证据,为自动程序修复领域的研究者开辟了新机遇。
引用
@article{arxiv.2012.06264,
title = {A Comprehensive Study of Code-removal Patches in Automated Program Repair},
author = {Davide Ginelli and Matias Martinez and Leonardo Mariani and Martin Monperrus},
journal= {arXiv preprint arXiv:2012.06264},
year = {2022}
}
备注
New version of the manuscript