Isolating Cause-Effect Chains with AskIgor - Tool Demo -
Andreas Zeller · 2003
AskIgor is a web service for automatically determining causes of program failures. You submit an executable and two invocations: one where the program fails, and one where it passes. AskIgor compares these two runs and conducts a number of systematic tests to narrow down the set of failure-inducing variable values automatically. This reveals the cause-effect chain of the failure—that is, the variables and values that caused the failure. In a case study, AskIgor successfully isolated the causeeffect chain for a failure of the GNU C compiler: “Initially, the C program to be compiled contained an addition of ; this caused an addition operator in the intermediate RTL representation; this caused a cycle in the RTL tree—and this caused the compiler to crash.”