Title :
Locating causes of program failures
Author :
Cleve, Holger ; Zeller, Andreas
Author_Institution :
Saarland Univ., Saarbrucken, Germany
Abstract :
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 a[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.
Keywords :
program debugging; program diagnostics; adaptive testing; automated debugging; program analysis; program failure location; Algorithm design and analysis; Automatic testing; Debugging; Permission; Programming profession; Software algorithms; Software engineering; Software testing;
Conference_Titel :
Software Engineering, 2005. ICSE 2005. Proceedings. 27th International Conference on
Print_ISBN :
1-59593-963-2
DOI :
10.1109/ICSE.2005.1553577