论文标题
程序维修:自动化与手册
Program Repair: Automated vs. Manual
论文作者
论文摘要
已经提出了各种自动化程序维修(APR)技术,以自动修复过去十年的错误。尽管最近的研究在有效性和效率方面取得了重大进展,但仍不清楚APR技术在真正的调试情况下如何在人为干预的情况下进行。为了弥合这一差距,我们进行了一项广泛的研究,以将三种最新的APR工具与手动程序维修进行比较,并进一步研究APR工具的援助(即维修报告)是否可以改善手动程序维修。为此,我们招募了20名参与者进行对照实验,从而完成了160项手动维修任务和问卷调查。该实验揭示了一些值得注意的观察结果,即(1)手动程序修复有时可能会受到修复频率的影响; (2)在调试时间方面,APR工具更有效,而手动程序维修往往会产生正确的补丁,而尝试较少。 (3)APR工具可以进一步改善有关正确固定错误数量的手动程序维修,而对补丁的正确性产生负面影响; (4)参与者被用来消耗更多时间来识别错误的补丁,而它们仍然容易被误导; (5)参与者对工具的维修性能持积极态度,而他们通常对实践中的可用性缺乏信心。此外,我们还提供了一些指导方针,以提高APR工具的可用性(例如,报告中的误导信息和反馈观察)。
Various automated program repair (APR) techniques have been proposed to fix bugs automatically in the last decade. Although recent researches have made significant progress on the effectiveness and efficiency, it is still unclear how APR techniques perform with human intervention in a real debugging scenario. To bridge this gap, we conduct an extensive study to compare three state-of-the-art APR tools with manual program repair, and further investigate whether the assistance of APR tools (i.e., repair reports) can improve manual program repair. To that end, we recruit 20 participants for a controlled experiment, resulting in a total of 160 manual repair tasks and a questionnaire survey. The experiment reveals several notable observations that (1) manual program repair may be influenced by the frequency of repair actions sometimes; (2) APR tools are more efficient in terms of debugging time, while manual program repair tends to generate a correct patch with fewer attempts; (3) APR tools can further improve manual program repair regarding the number of correctly-fixed bugs, while there exists a negative impact on the patch correctness; (4) participants are used to consuming more time to identify incorrect patches, while they are still misguided easily; (5) participants are positive about the tools' repair performance, while they generally lack confidence about the usability in practice. Besides, we provide some guidelines for improving the usability of APR tools (e.g., the misleading information in reports and the observation of feedback).