Publication | Closed Access
Simplifying and isolating failure-inducing input
1K
Citations
11
References
2002
Year
EngineeringVerificationSoftware EngineeringSoftware AnalysisFormal VerificationReliability EngineeringProgram FailsTest CaseTest AutomationFailure AnalysisSystems EngineeringFailure DetectionReliabilityTesting TechniqueFailure-inducing InputComputer ScienceDebuggerSoftware DesignAutomated ReasoningProgram AnalysisSoftware TestingFormal MethodsCase StudyTest Case DesignFault InjectionSoftware Debugging
Program failures arise from specific test‑case circumstances that must be identified. The study applies the delta debugging algorithm to reduce a failing test case to a minimal one that still triggers the failure. The algorithm isolates the failing behavior by comparing passing and failing cases, as shown when it reduced a 95‑action Mozilla crash scenario. The prototype reduced a 95‑action crash to three actions and a 896‑line HTML file to a single line, completing the case study in 139 runs or 35 minutes on a 500 MHz PC.
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1