Software Multiple-Fault Localisation Based on Iterative Self-Organizing Clustering
50 Pages Posted: 1 Jun 2024
Abstract
The traditional software defect localisation method based on spectrum performs well in single defect scenarios, but it lacks effectiveness in multiple defect scenarios. Cluster analysis is a method to improve the accuracy of multi-defect locations. This method clusters the failed test cases to generate multiple clusters centered around defects. By utilizing the clustering results, defect reports are generated to identify the locations of multiple defects. We proposed iterative self-organizing clustering for multiple-fault localisation (ISOMFL) to improve the efficacy of multi-defect localisation. We have achieved the effectiveness of this method for multi-defect localisation through some improvements. Firstly, we construct a vector representation for failed test cases and improve the Footrule distance measurement to accurately calculate the distance between test case vectors. This allows for a better assessment of the dissimilarity between failed test cases. Secondly, to address the issue of random assignment of cluster centers, we introduce a dissimilarity matrix to identify suitable initial cluster centers. Next, through the iterative self-organizing clustering algorithm, we dynamically adjust the number of clusters by employing cluster merging and splitting operations. This leads to the creation of multiple clusters centered around defects. Lastly, we combine the clustering results of failed test cases with all successful test cases to form a novel coverage information spectrum. By utilizing the doubt formula, we calculate and generate defect reports based on these clusters. These optimization measures significantly enhance the accuracy and efficiency of multi-defect localisation. Experimental studies on six defect projects in the SIR and Defects4J databases demonstrate that ISOMFL outperforms other software multi-defect localisation methods such as MSeer, FSMFL, and J2 in terms of localisation performance.
Keywords: Software fault localisation, Multiple faults, Iterative self-organizing cluster analysis, Software debugging
Suggested Citation: Suggested Citation