Leveraging Fault Localisation to Enhance Defect Prediction

Authors: Jeongju Sohn Yasutaka Kamei Shane McIntosh Shin Yoo

Venue: SANER   2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 284-294, 2021

Year: 2021

Abstract: Software Quality Assurance (SQA) is a resource constrained activity. Research has explored various means of sup-porting that activity. For example, to aid in resource investment decisions, defect prediction identifies modules or changes that are likely to be defective in the future. To support repair activities, fault localisation identifies areas of code that are likely to require change to address known defects. Although the identification and localisation of defects are interdependent tasks, the synergy between defect prediction and fault localisation remains largely underexplored.We hypothesise that modifying code that was suspicious in the past is riskier than modifying code that was not. To validate our hypothesis, in this paper, we employ fault localisation, which localises the root cause of a program failure. We compute the past suspiciousness score of code changes to each fault, and use those scores to (1) define new features for training defect prediction models; and (2) guide the next actions of developers for a commit labelled as fix-inducing. An empirical study of three open-source projects confirms our hypothesis. The new suspiciousness features improve F1 score and balanced accuracy of Just-In-Time (JIT) defect prediction models by 4.2% to 92.2% and by 1.2% to 3.7%, respectively. When guiding developer actions, past code suspiciousness successfully guides developers to a defective file, inspecting two to nine fewer files on average, compared to the baselines based on previous findings on past faults. These results demonstrate the potential of synergies of fault localisation and defect prediction, and lay the groundwork for explorations of that combined space.

BibTeX:

@inproceedings{jeongjusohn2021lfltedp,
    author = "Jeongju Sohn and Yasutaka Kamei and Shane McIntosh and Shin Yoo",
    title = "Leveraging Fault Localisation to Enhance Defect Prediction",
    year = "2021",
    pages = "284-294",
    booktitle = "Proceedings of 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)"
}

Plain Text:

Jeongju Sohn, Yasutaka Kamei, Shane McIntosh, and Shin Yoo, "Leveraging Fault Localisation to Enhance Defect Prediction," 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 284-294