Simplifying and Isolating Failure-Inducing Input
Andreas Zeller and Ralf Hildebrandt

Software Engineering Chair (Prof. Zeller)
Saarland University – Computer Science
Campus E1 1
66123 Saarbrücken, Germany
E-mail: zeller @ cs.uni-saarland.de
Phone: +49 681 302-70970

Deutschsprachige Startseite Page d'acceuil en franšais English home page
   Andreas Zeller and Ralf Hildebrandt. 'Simplifying and Isolating Failure-Inducing Input. IEEE Transactions on Software Engineering 28(2), February 2002, pp. 183-200.
"We recommend that automated test case simplification be an integrated part of automated testing. Each time a test fails, Delta Debugging could be used to simplify and isolate the circumstances of the failure." (Conclusion)

Get the paper in PDF format (248k, 17 pages).

Abstract

Given some test case, a program fails. Which circumstances of the test case are responsible for the particular failure? The Delta Debugging algorithm generalizes and simplifies some failing test case to a minimal test case that still produces the failure; it also isolates the difference between a passing and a failing test case. In a case study, the Mozilla web browser crashed after 95 user actions. Our prototype implementation automatically simplified the input to 3 relevant user actions. Likewise, it simplified 896 lines of HTML to the single line that caused the failure. The case study required 139 automated test runs, or 35 minutes on a 500 MHz PC.

Keywords

Automated debugging, debugging aids, testing tools, combinatorial testing, diagnostics, tracing

Contents

  1. Introduction
  2. Testing for Change
    • The Change that Causes a Failure
    • Decomposing Changes
    • Test Cases and Tests
  3. Minimizing Test Cases
    • Minimal Test Cases
    • A Minimizing Algorithm
    • Properties of ddmin
  4. Case Studies
    • GCC gets a Fatal Signal
    • Mozilla Cannot Print
    • Minimizing Fuzz
    • The Precision Effect
  5. Isolating Failure-Inducing Differences
    • Isolation Illustrated
    • An Isolating Algorithm
    • Properties of dd
  6. Case Studies Revisited
    • Isolating GCC Input
    • Isoalting Fuzz Input
  7. Related Work
  8. Future Work
  9. Conclusion

Download

See Also...

<webmaster@st.cs.uni-saarland.de> · http://www.st.cs.uni-saarland.de/papers/tse2002/ · Updated: 2014-03-23 23:44