Publication | Closed Access
Locating causes of program failures
552
Citations
14
References
2005
Year
Unknown Venue
Software MaintenanceSoftware Reliability TestingEngineeringSoftware EngineeringProgram RunProgram StatesSoftware AnalysisReliability EngineeringFailure AnalysisFailure DetectionReliabilityProgram FailuresEngineering Failure AnalysisComputer ScienceDebuggerSoftware DesignSoftware FailureProgram AnalysisSoftware TestingFault Injection
Software failures arise from defects that manifest as state differences during program execution, which can occur anywhere in the run. The study aims to pinpoint failure‑inducing defects by concentrating on relevant variables and the moments when new failure causes emerge. This is achieved by comparing program states between failing and passing executions to identify state differences and track cause transitions. Evaluation shows that cause transitions locate the failure‑inducing defect twice as effectively as the best existing methods.
Which is the defect that causes a software failure? By comparing the program states of a failing and a passing run, we can identify the state differences that cause the failure. However, these state differences can occur all over the program run. Therefore, we focus in space on those variables and values that are relevant for the failure, and in time on those moments where cause transitions occur---moments where new relevant variables begin being failure causes: "Initially, variable argc was 3; therefore, at shell_sort(), variable [2] was 0, and therefore, the program failed." In our evaluation, cause transitions locate the failure-inducing defect twice as well as the best methods known so far.
| Year | Citations | |
|---|---|---|
Page 1
Page 1