kirancodes.me
To Proof Maintenance & Beyond!

Fault localization to detect co-change fixing locations

Yi Li, Shaohua Wang, Tien N. Nguyen

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.

BibTeX
@inproceedings{Li-al:FSE22,
  author    = {Yi Li and
               Shaohua Wang and
               Tien N. Nguyen},
  title     = {Fault localization to detect co-change fixing locations},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {659--671},
  publisher = {{ACM}},
  year      = {2022},
}

Related papers