Fault localization have proven to be useful in various software during the process of software testing and debugging. The presence of multiple faults simultaneously may deteriorate the effectiveness of existing fault-localization techniques. One good solution is to generate fault-focused clusters by the same bug into the same cluster in term of clustering analysis the failed execution traces. We first introduce improved Chameleon cluster analysis to locate multi-fault in parallel under a general framework. In order to make use of execution information, feature select strategy of the program execution trace is proposed. the failed program execution traces are divided into fault-focused clusters by Chameleon cluster analysis according to the likely faults that caused them, and each cluster may contain the same fault. Then, their suspiciousness is calculated after the clusters of failed program execution traces are merged with all successful program execution traces. Finally, multiple faults in the program are located simultaneously in parallel debugging mode by the suspicious ranking generated in each merged cluster. Experiments conducted on four real-world subjects shows that our approach can achieve better performance than the compared ones.
Read full abstract