Meet the Delta Debugging team @ ICSE 2005 in St. Louis

Skip to first unread message

Tom Zimmermann

May 6, 2005, 10:45:15 AM5/6/05
Mark your schedules for the Fault Localization session on Thursday, 19
May @ 4:00 PM. St. Louis Ballroom D.
Holger Cleve and Andreas Zeller will present their latest paper on how
to use delta debugging to locate causes of program failures.

Can't wait for the talk? Get the paper in PDF format (10 pages, 322k)


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.


"Cause transitions are not only good locations for fixes—they actually
locate the defects that cause the failure. In fact, we show that cause
transitions are significantly better locators of defects than any other
methods previously known." (Case study: The GCC failure)

"Overall, to locate the defect, the programmer had to follow just one
backwards dependency from the last isolated cause transition. In
numbers, this translates into just 2 lines out of 338,000 lines of
GCC code. Even if we assume the programmer examines all 9 transitions
and all direct dependencies, the effort to locate the GCC defect is
minimal." (Introduction)

Thomas Zimmermann,
Tom Zimmermann.vcf
Reply all
Reply to author
0 new messages