University of Passau · FIM · Software Systems Deutschsprachige Startseite

ST

Simplifying Failure-Inducing Input

Ralf Hildebrandt and Andreas Zeller
Universität Passau
Lehrstuhl für Softwaresysteme
Innstraße 33
94032 Passau, Germany

Phone: +49 851 509-30 91
Fax: +49 851 509-30 92
e-mail: snelting@fmi.uni-passau.de
WWW: http://www.infosun.fmi.uni-passau.de/st/

Proc. ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2000), Portland, Oregon, August 2000, pp. 135-145.

Please note: A revised and expanded version of this paper is now available.

Abstract

Given some test case, a program fails. Which part of the test case is responsible for the particular failure? We show how our test case minimization algorithm generalizes and simplifies some failing input to a minimal test case that produces the failure.

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.

Categories and Subject Descriptors

D.2.5 [Software Engineering]: Testing and debugging - debugging aids, diagnostics, testing tools, tracing

General Terms

Automated debugging, combinatorial testing

Contents

  1. Introduction
  2. Configurations and Tests
  3. Minimality of Test Cases
  4. A Minimizing Algorithm
  5. Case Study: GCC gets a Fatal Signal
  6. Case Study: Minimizing Fuzz
  7. Case Study: Mozilla Cannot Print
  8. Related Work
  9. Future Work
  10. Conclusion

Download

PDF version (218k)
PostScript version (74k, compressed)
Slides of ISSTA 2000 talk (PDF, 218k)

Related Work

Ralf's diploma thesis with lots of material on the case studies
More on Delta Debugging
Lehrstuhl Softwaresysteme <snelting@fmi.uni-passau.de> - Last modified: 02/15/2001