D15: Dynamic Slicing for AOP
Thursday 11:20-12:00 & Thursday 15:45-16:25
Abstract
During debugging, interest usually is in events that have led to an erroneous situation. Only part of the corresponding control flow can be derived from the call stack: the history of execution, and the way it was influenced by conditions based on expression results, are not accessible. In aspect-oriented programs, advice executions have influence on the control flow and state of the application. The call stack alone is not sufficient to give a comprehensive view on the causes of an error.
The presented tool suite uses program slicing to select the interesting part of an execution. Slicing in this approach is based on a complete trace of a program run generated by a modified virtual machine. The entire trace can be browsed using controls similar to a conventional debugger. Slicing allows for selecting particular expressions in the program and marking all statements that have influenced the value of the expression, or that will be influenced by the value.
The tool is integrated into the Eclipse JDT. Slices are presented to the user in the Java editor by highlighting the affected statements. Since slices typically affect different modules, they are presented as bookmarks, allowing for navigation over multiple files.
Presenters
- Michael Haupt (Darmstadt University of Technology, Germany)
- Christoph Bockisch (Darmstadt University of Technology, Germany)
- Stephan Ritzkowski (Darmstadt University of Technology, Germany)
Back to list of demonstrations
Edited by the AOSD Conference Committee. Send comments to: webmasteraosd.net
|
|