Exception-Driven Fault Localization for Automated Program Repair
This addresses the bottleneck of fault localization for APR practitioners, offering a domain-specific improvement that is incremental but targeted.
The paper tackles the problem of inaccurate fault localization in Automated Program Repair (APR) by proposing EXCEPT, a technique that uses exception semantics instead of traditional spectrum-based methods, resulting in improved performance over existing approaches like Ochiai and ssFix on 43 faults from the Defects4J benchmark.
Automated Program Repair (APR) techniques typically exploit spectrum-based fault localization (SBFL) to identify the program locations that should be patched, making the effectiveness of APR techniques dependent on the effectiveness of fault localization. Indeed, results show that SBFL often does not localize faults accurately, hindering the effectiveness of APR. In this paper, we propose EXCEPT, a technique that addresses the localization problem by focusing on the semantics of failures rather than on the correlation between the executed statements and the failed tests, as SBFL does. We focus on failures due to exceptions and we exploit their type and source to localize and guess the faults. Experiments with 43 exception-raising faults from the Defects4J benchmark show that EXCEPT can perform better than Ochiai and ssFix.