skip to main content
research-article

Simplifying and Isolating Failure-Inducing Input

Published: 01 February 2002 Publication History

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 the 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 three 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.

References

[1]
"Mozilla web site,"http://www.mozilla.org/, 2001.
[2]
"Mozilla Web Site: The Gecko BugAThon,"http:!/www.mozilla. org/new layout !bugathon.html. 2001.
[3]
A Zeller, Yesterday, My Program Worked. Today, It Does Not. Why? Proc. Seventh European Software Eng. Conf, Seventh ACM SIGSOFT Syinp. Foundations of Software Eng., (ESEC/ESE '99), 0. Nierstrasz and M. Lemoine, eds. vol. 1687, pp. 253-267, Sept. 1999.
[4]
Test Methods for Measuring Conformance to POSIX. 1991, ANSI! IEEE Standard 1003.31991. ISO/IEC Standard 13210, 1994.
[5]
M. Vertes, "Male-A Tool to Automate Graphical User Interfaces Linux Weekly News, May 1998, Archived as http://lwn.net/ 980528/a/ xlab.html.
[6]
B.P. Miller, L Fredrikson, and B. So, "An Empirical Study of the Reliability of UNIX Utilities," Comm. ACM, vol. 33, no, 12, pp. 32-44, Dec. 1990.
[7]
B.P. Miller, D. Koski, C.P. Lee, V. Maganty, R. Murthy, A. Natarajan, and J. Steidi, "Fuzz Revisited: A Re-examination of the Reliability of UNIX Utilities and Services," technical report, Univ. of Wisconsin, Computer Science Dept., Nov. 1995.
[8]
D.R. Slutz, "Massive Stochastic Testing of SQL," Proc. 24th Int'l Conf. Very Large Data Bases (VLDB '98), A. Gupta, 0. Shmueli, and J, Widom, eds., pp. 618-622, Aug. 1998.
[9]
D.B. Whalley, "Automatic Isolation of Compiler Errors," ACM Trans. Programming Languages and Systems, vol. 16, no. 5, pp. 1648-1659, 1994.
[10]
A. Zeller and G. Snelting, "Unified Versioning through Feature Logic," ACM Trans. Software Eng. and Methodology, vol. 6, no. 4, pp. 398-441, Oct. 1997.
[11]
M. Weiser, "Programmers Use Slices when Debugging," Comm. ACM, vol. 25. no. 7, pp. 446-452, 1982.
[12]
F. Tip, "A Survey of Program Slicing Techniques," /. Programming Languages, vol. 3, no. 3, pp. 121-189, Sept. 1995.
[13]
H. Agrawal and JR. Horgan, "Dynamic Program Slicing," Proc. ACM SIGPLAN 1990 Conf Programming Language Design and Implementation (PLDI), vol. 25, no. 6, pp. 246-256, June 1990.
[14]
t. GyimOthy, A. Beszedes, and 1. Forgcs, "An Efficient Relevant Slicing Method for Debugging," Proc. Seventh European Software big Conf, Seventh ACM SIGSOFT Symp. Foundations of Software Log, (ESEC/FSE '99), 0. Nierstrasz and M. Lemoine, eds vol. 1687, pp. 303-321, Sept. 1999.

Cited By

View all
  • (2024)Software Engineering Methods for AI-Driven Deductive Legal ReasoningProceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3689492.3690050(85-95)Online publication date: 17-Oct-2024
  • (2024)Bug Localisation in Model-Based Testing using Model-Centric ShrinkingProceedings of the 2nd ACM International Workshop on Future Debugging Techniques10.1145/3678720.3685315(9-15)Online publication date: 13-Sep-2024
  • (2024)GreeDDy: Accelerate Parallel DDMINProceedings of the 15th ACM International Workshop on Automating Test Case Design, Selection and Evaluation10.1145/3678719.3685690(1-4)Online publication date: 13-Sep-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering  Volume 28, Issue 2
February 2002
105 pages

Publisher

IEEE Press

Publication History

Published: 01 February 2002

Author Tags

  1. Automated debugging
  2. combinatorial testing
  3. debugging aids
  4. diagnostics
  5. testing tools
  6. tracing.

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Software Engineering Methods for AI-Driven Deductive Legal ReasoningProceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3689492.3690050(85-95)Online publication date: 17-Oct-2024
  • (2024)Bug Localisation in Model-Based Testing using Model-Centric ShrinkingProceedings of the 2nd ACM International Workshop on Future Debugging Techniques10.1145/3678720.3685315(9-15)Online publication date: 13-Sep-2024
  • (2024)GreeDDy: Accelerate Parallel DDMINProceedings of the 15th ACM International Workshop on Automating Test Case Design, Selection and Evaluation10.1145/3678719.3685690(1-4)Online publication date: 13-Sep-2024
  • (2024)Calico: Automated Knowledge Calibration and Diagnosis for Elevating AI Mastery in Code TasksProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3680399(1785-1797)Online publication date: 11-Sep-2024
  • (2024)Inconsistencies in TeX-Produced DocumentsProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3680370(1415-1427)Online publication date: 11-Sep-2024
  • (2024)Towards Understanding the Bugs in Solidity CompilerProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3680362(1312-1324)Online publication date: 11-Sep-2024
  • (2024)SQLess: Dialect-Agnostic SQL Query SimplificationProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3680317(743-754)Online publication date: 11-Sep-2024
  • (2024)Graph Neural Networks for Vulnerability Detection: A Counterfactual ExplanationProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3652136(389-401)Online publication date: 11-Sep-2024
  • (2024)C2D2: Extracting Critical Changes for Real-World Bugs with Dependency-Sensitive Delta DebuggingProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3652129(300-312)Online publication date: 11-Sep-2024
  • (2024)LPR: Large Language Models-Aided Program ReductionProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3652126(261-273)Online publication date: 11-Sep-2024
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media