Abstract | ||
---|---|---|
A common problem encountered while debugging programs is the overwhelming number of test cases generated by automated test generation tools, where many of the tests are likely to fail due to same bug. Some coarse-grained clustering techniques based on point of failure PFB and stack hash CSB have been proposed to address the problem. In this work, we propose a new symbolic analysis-based clustering algorithm that uses the semantic reason behind failures to group failing tests into more \"meaningful\" clusters. We implement our algorithm within the KLEE symbolic execution engine; our experiments on 21 programs drawn from multiple benchmark-suites show that our technique is effective at producing more fine grained clusters as compared to the FSB and CSB clustering schemes. As a side-effect, our technique also provides a semantic characterization of the fault represented by each cluster--a precious hint to guide debugging. A user study conducted among senior undergraduates and masters students further confirms the utility of our test clustering method. |
Year | DOI | Venue |
---|---|---|
2017 | 10.1007/978-3-662-54494-5_3 | FASE |
Field | DocType | Volume |
Programming language,Computer science,Theoretical computer science,Symbolic data analysis,Hash function,Symbolic execution,Test case,Cluster analysis,Path condition,Debugging | Conference | 10202 |
ISSN | Citations | PageRank |
0302-9743 | 2 | 0.41 |
References | Authors | |
15 | 4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Van-Thuan Pham | 1 | 104 | 5.35 |
Sakaar Khurana | 2 | 2 | 0.41 |
Subhajit Roy | 3 | 45 | 10.84 |
Abhik Roychoudhury | 4 | 2449 | 122.18 |