home · mobile · calendar · colloquia · 2005-2006 · 

Colloquium - Zhang

Efficient and Effective Dynamic Slicing
University of Arizona

Programming has continued to grow in its complexity. However, debugging techniques have not been able to keep up with this trend. Dynamic slicing is a dynamic program analysis that computes a subset of executed statements that contributed to a software failure. Even though dynamic slicing is intuitively a very effective debugging technique, it was believed to be too expensive. Therefore, traditional research on dynamic slicing was mainly about proposing algorithms based on toy programs, and those algorithms were hardly evaluated.

My talk will describe how I make dynamic slicing efficient and effective for real programs. The first problem I tackled is the cost. I will talk about two techniques. One is about applying demand driven strategy in dynamic slicing. The other is a novel tracing technique called Whole Execution Traces (WETs), which is able to achieve high compression rate, and yet dynamic slicing can be performed in the compressed form with minor overhead. The second part of the talk is about the effectiveness of dynamic slicing in debugging. I will first present empirical data on real bugs. I will demonstrate insights which had not been revealed before due to the lack of practical implementation. With all these observations, I have proposed a set of novel techniques which make dynamic slicing much more effective in locating software bugs.

Hosted by Amer Diwan.
The speaker is a candidate for a faculty position in the Department of Computer Science.

Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:13)