Litcius/Paper detail

Fault localization to detect co-change fixing locations

Yi Li, Shaohua Wang, Tien N. Nguyen

2022Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering21 citationsDOIOpen Access PDF

Abstract

Fault Localization (FL) is a precursor step to most Automated Program Repair (APR) approaches, which fix the faulty statements identified by the FL tools. We present FixLocator, a Deep Learning (DL)-based fault localization approach supporting the detection of faulty statements in one or multiple methods that need to be modified accordingly in the same fix. Let us call them co-change (CC) fixing locations for a fault. We treat this FL problem as dual-task learning with two models. The method-level FL model, MethFL, learns the methods to be fixed together. The statement-level FL model, StmtFL, learns the statements to be co-fixed. Correct learning in one model can benefit the other and vice versa. Thus, we simultaneously train them with soft-sharing the models' parameters via cross-stitch units to enable the propagation of the impact of MethFL and StmtFL onto each other. Moreover, we explore a novel feature for FL: the co-changed statements. We also use Graph-based Convolution Network to integrate different types of program dependencies.

Topics & Concepts

Computer scienceConvolution (computer science)Task (project management)Artificial intelligenceGraphDeep learningFault (geology)Dual (grammatical number)Feature (linguistics)Machine learningData miningReal-time computingTheoretical computer scienceArtificial neural networkEngineeringSystems engineeringLiteratureArtPhilosophySeismologyGeologyLinguisticsSoftware Testing and Debugging TechniquesSoftware Engineering ResearchSoftware Reliability and Analysis Research