: Tuesday
Automated Debugging in Eclipse
Courtyard (room A)
Tuesday, 11:00, 45 minutes
7 | · | 8 | · | 9 | · | 10 | · | 11 | · | 12 | · | 13 | · | 14 | · | 15 | · | 16 | · | 17 | · | 18 | · | 19 | · | 20 | · | 21 |
Andreas Zeller, Saarland University
Demonstration number: 14
Your program fails. What is the cause of this failure? In this demo, we present two delta debugging plug-ins for the Eclipse environment which isolate failure causes in the program history and in the program's execution. * DDchange is useful if an old (working) version of the unit is available. By systematic tests, it narrows down the set of code changes until it has isolated the failure-inducing change: "The failure was caused by a change to output.cpp at line 197 on June 30th" (Zeller, ESEC/FSE 1999). * DDstate requires an passing test run of the unit. By narrowing down the differences between program states, it isolates the variables and statements that cause the failure: "At input.java in line 307, this.buffer became NULL, and therefore, the program crashed." (Cleve and Zeller, ICSE 2005). Both plug-ins are fully automatic; they kick in as soon as a JUnit test fails and produce a diagnosis within minutes. In the demo, we show a number of (buggy) examples, show that their JUnit test fails, and essentially wait until the plug-in produces the diagnostic. (To keep the audience busy, we enable some visualizations showing what's happening behind the scenes.) We are then happy to take questions and suggestions from the audience. Both plug-ins will be available at http://www.st.cs.uni-sb.de/eclipse/