Hey APR! Integrate Our Fault Localization Skill: Toward Better Automated Program Repair
Hey APR! Integrate Our Fault Localization Skill: Toward Better Automated Program Repair
复制标题
嘿,阿普!
DOI:
10.1109/compsac54236.2022.00101
复制
发表时间:
2022
期刊:
影响因子:
--
通讯作者:
Ubayashi Naoyasu
中科院分区:
文献类型:
--
作者:
Yamate Kyosuke;Kondo Masanari;Kashiwa Yutaro;Kamei Yasutaka;Ubayashi Naoyasu
BackgroundPrior studies lack the perspective of using developer's skills to augment the performance of automated program repair (APR). APR has a phase referred to as fault localization (FL), which automatically finds the faulty statement that causes faults. To achieve a well-performed FL phase, we study developers' FL skills, which allow developers to find faulty statements. We suppose that such FL skills can add additional information to fault localization to augment the accuracy of fault localization and reduce the execution cost of APR.AimsWe aim at revealing a criterion that distinguishes whether using the FL skill reduces the execution cost of the state-of-the-art APR, TBar, depending on the accuracy of the FL skill.MethodWe conduct a simulation case study in the Defects4J dataset, which is the most popular dataset. We compare the numbers of candidate patches generated by TBar using the FL skill or using spectrum-based fault localization (SBFL).ResultsOur case study revealed that, if developers localized the faulty statements before inspecting 40 % of the statements in the target program, the execution cost of TBar reduces for over half of the studied faults. The 40 % value is a requirement for developers using the FL skill to augment the performance of APR.ConclusionIf developers can localize the faulty statement before inspecting 40 % of the statements, integrating the FL skill with SBFL makes TBar faster compared to when SBFL is used.