Fault Localization to Defect Prediction
... and vice-versa
Defect Prediction (DP) and Fault Localization (FL) do the same task, just at different stages of software maintenance: DP identifies faults before program failures while FL identifies faults after program failures. This project aims to combine these two activities under the notion of fault identification. Our ultimate goal is to build a unified frame fault of fault identitication that can make a combined use of all fault-identifying events during software development.
Bring defect prediction propertiess to fault localization
Using process metrics, especially code and change metrics, that have been widely studied in the context of defect prediction to improve the accuracy of fault localization. The main goal of this work, called FLUCCS, is to investigate the underlying relation between defect prediction and fault localization and how they can further assist fault localization.
Related publications: ISSTA17 , TSE19
Bring fault localization to defect prediction
Leveraging fault localization to improve defect prediction. This work, which we call FL2DP (Fault Localization To Defect Prediction), aims to enhance Just-In-Time defect prediction by exploiting the insights about defective code from past fault localization. The main goal of this work is to investigate the links between past fault localization activities and prediction activities of underlying faults in code changes.
Related publications: SANER21
UNITE: UNifIed framework of faulT idEntification (on-going)
Considering fault localisation and fault prediction as pre- and post-identification of faults before the detection, we integrate these two into a holistic fault identification framework for evolving software systems. By establishing and leveraging the co-evolution of test and code elements to connect fault-identification activities in the past and present, the work aims to improve overall software quality through simultaneous interactions between these identification activities. This is the final stage of this project and our ultimate goal.
Related work about software co-evolution