
Automating Debugging: Discover Delta Debugging’s Method

Delta Debugging automates the scientific method of debugging. The basic idea of the scientific method is to establish a hypothesis on why something does not work. You test this hypothesis, and you refine or reject it depending on the test outcome. When debugging, people are doing this all the time. Manually. Delta Debugging automates this process. Read more…
Narrowing down possible failure causes
|
As a first application, consider a program that fails when given some input. With Delta Debugging, you can isolate and minimize the failure-inducing input automatically. For instance, if your browser crashes on a 10,000-line WWW page, Delta Debugging can determine the failure-inducing HTML tag. Read more…
As another application, consider a program and a number of changes to the program code. After applying the changes, the program no longer works. With Delta Debugging, you can identify the failure-inducing changes automatically. Read more…
Yet another application is the isolation of failure-inducing executed statements – that is, the events during execution which were critical for producing the failure. This work is at an early stage. Read more…
Further applications are the identification of failure-inducing schedules (e.g. race conditions due to nondeterministic behavior) or the isolation of failure-inducing control statements (i.e. which branches taken were relevant and which not).
More information: www.st.cs.uni-sb.de/dd/