ACM Home Page
Please provide us with feedback. Feedback
HDD: hierarchical delta debugging
Full text PdfPdf (275 KB)
Source International Conference on Software Engineering archive
Proceedings of the 28th international conference on Software engineering table of contents
Shanghai, China
SESSION: Research papers: test & analysis II table of contents
Pages: 142 - 151  
Year of Publication: 2006
ISBN:1-59593-375-1
Authors
Ghassan Misherghi  University of California, Davis, CA
Zhendong Su  University of California, Davis, CA
Sponsors
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 22,   Downloads (12 Months): 74,   Citation Count: 11
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1134285.1134307
What is a DOI?

ABSTRACT

Inputs causing a program to fail are usually large and often contain information irrelevant to the failure. It thus helps debugging to simplify program inputs. The Delta Debugging algorithm is a general technique applicable to minimizing all failure-inducing inputs for more effective debugging. In this paper, we present HDD, a simple but effective algorithm that significantly speeds up Delta Debugging and increases its output quality on tree structured inputs such as XML. Instead of treating the inputs as one flat atomic list, we apply Delta Debugging to the very structure of the data. In particular, we apply the original Delta Debugging algorithm to each level of a program's input, working from the coarsest to the finest levels. We are thus able to prune the large irrelevant portions of the input early. All the generated input configurations are syntactically valid, reducing the number of inconclusive configurations that need to be tested and accordingly the amount of time spent simplifying. We have implemented HDD and evaluated it on a number of real failure-inducing inputs from the GCC and Mozilla bugzilla databases. Our Hierarchical Delta Debugging algorithm produces simpler outputs and takes orders of magnitude fewer test cases than the original Delta Debugging algorithm. It is able to scale to inputs of considerable size that the original Delta Debugging algorithm cannot process in practice. We argue that HDD is an effective tool for automatic debugging of programs expecting structured inputs.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
3
4
5
6
 
7
A. Groce and W. Visser. What went wrong: Explaining counterexamples. In SPIN 2003, pages 121--135, 2003.
 
8
R. M. Karp. Reducibility among combinatorial problems. In Complexity of Computer Computations, pages 85--103. Plenum Press, NY, 1972.
9
10
11
12
 
13
S. McPeak. Elsa: The Elkhound-based C/C++ parser. http://www.cs.berkeley.edu/~smcpeak/elkhound/sources/elsa/index.html.
14
 
15
F. Tip. A survey of program slicing techniques. Journal of programming languages, 3:121--189, 1995.
 
16
17
18
19
 
20

CITED BY  11

Collaborative Colleagues:
Ghassan Misherghi: colleagues
Zhendong Su: colleagues