A manual inspection of Defects4J bugs and its implications for automatic program repair
基本信息来源于合作网站,原文需代理用户跳转至来源网站获取
摘要:
Automatic program repair techniques,which target to generate correct patches for real-world defects automatically,have gained a lot of attention in the last decade.Many different techniques and tools have been proposed and developed.However,even the most sophisticated automatic program repair techniques can only repair a small portion of defects while producing a large number of incorrect patches.A possible reason for the low performance is the test suites of real-world programs are usually too weak to guarantee the behavior of a program.To understand to what extent defects can be fixed with exiting test suites,we manually analyzed 50 real-world defects from Defects4J,where a large portion (i.e.,82%) of them were correctly fixed.This result suggests that there is much room for the current automatic program repair techniques to improve.Furthermore,we summarized seven fault localization and seven patch generation strategies that are useful in localizing and fixing these defects,and compared those strategies with current techniques.The results indicate potential directions to improve automatic program repair in the future.