FATOC: Bug Isolation Based Multi-Fault Localization by Using OPTICS Clustering

  • PDF / 927,807 Bytes
  • 20 Pages / 595 x 842 pts (A4) Page_size
  • 40 Downloads / 203 Views

DOWNLOAD

REPORT


FATOC: Bug Isolation Based Multi-Fault Localization by Using OPTICS Clustering Yong-Hao Wu1 , Zheng Li1 , Yong Liu1,∗ , Member, CCF, ACM, IEEE, and Xiang Chen2,3 , Senior Member, CCF, Member, ACM, IEEE 1

College of Information Science and Technology, Beijing University of Chemical Technology, Beijing 100029, China

2

School of Information Science and Technology, Nantong University, Nantong 226019, China

3

State Key Laboratory of Information Security, Institute of Information Engineering, Chinese Academy of Sciences Beijing 100093, China

E-mail: [email protected]; {lizheng, lyong}@mail.buct.edu.cn; [email protected] Received April 12, 2020; revised July 29, 2020. Abstract Bug isolation is a popular approach for multi-fault localization (MFL), where all failed test cases are clustered into several groups, and then the failed test cases in each group combined with all passed test cases are used to localize only a single fault. However, existing clustering algorithms cannot always obtain completely correct clustering results, which is a potential threat for bug isolation based MFL approaches. To address this issue, we first analyze the influence of the accuracy of the clustering on the performance of MFL, and the results of a controlled study indicate that using the clustering algorithm with the highest accuracy can achieve the best performance of MFL. Moreover, previous studies on clustering algorithms also show that the elements in a higher density cluster have a higher similarity. Based on the above motivation, we propose a novel approach FATOC (One-Fault-at-a-Time via OPTICS Clustering). In particular, FATOC first leverages the OPTICS (Ordering Points to Identify the Clustering Structure) clustering algorithm to group failed test cases, and then identifies a cluster with the highest density. OPTICS clustering is a density-based clustering algorithm, which can reduce the misgrouping and calculate a density value for each cluster. Such a density value of each cluster is helpful for finding a cluster with the highest clustering effectiveness. FATOC then combines the failed test cases in this cluster with all passed test cases to localize a single-fault through the traditional spectrum-based fault localization (SBFL) formula. After this fault is localized and fixed, FATOC will use the same method to localize the next single-fault, until all the test cases are passed. Our evaluation results show that FATOC can significantly outperform the traditional SBFL technique and a state-of-the-art MFL approach MSeer on 804 multi-faulty versions from nine real-world programs. Specifically, FATOC’s performance is 10.32% higher than that of traditional SBFL when using Ochiai formula in terms of metric A-EXAM . Besides, the results also indicate that, when checking 1%, 3% and 5% statements of all subject programs, FATOC can locate 36.91%, 48.50% and 66.93% of all faults respectively, which is also better than the traditional SBFL and the MFL approach MSeer. Keywords bug isolation, multiple-fault localization, ordering points to