Welcome!
To use the personalized features of this site, please log in or register.
If you have forgotten your username or password, we can help.
My Menu
Saved Items

Path Optimization in Programs and Its Application to Debugging

Akash LalContact Information, Junghee LimContact Information, Marina PolishchukContact Information and Ben LiblitContact Information

(1)  Computer Sciences Department, University of Wisconsin-Madison,  
Abstract
We present and solve a path optimization problem on programs. Given a set of program nodes, called critical nodes, we find a shortest path through the program’s control flow graph that touches the maximum number of these nodes. Control flow graphs over-approximate real program behavior; by adding dataflow analysis to the control flow graph, we narrow down on the program’s actual behavior and discard paths deemed infeasible by the dataflow analysis. We derive an efficient algorithm for path optimization based on weighted pushdown systems. We present an application for path optimization by integrating it with the Cooperative Bug Isolation Project CBI, a dynamic debugging system. CBI mines instrumentation feedback data to find suspect program behaviors, called bug predictors, that are strongly associated with program failure. Instantiating critical nodes as the nodes containing bug predictors, we solve for a shortest program path that touches these predictors. This path can be used by a programmer to debug his software. We present some early experience on using this hybrid static/dynamic system for debugging.
Supported in part by a gift from Microsoft Research.

Contact Information Akash Lal
Email: akash@cs.wisc.edu

Contact Information Junghee Lim
Email: junghee@cs.wisc.edu

Contact Information Marina Polishchuk
Email: mpoli@cs.wisc.edu

Contact Information Ben Liblit
Email: liblit@cs.wisc.edu
Fulltext Preview (Small, Large)
Image of the first page of the fulltext


Export this chapter
Export this chapter as RIS | Text
 
Remote Address: 38.107.191.113 • Server: mpweb17
HTTP User Agent: CCBot/1.0 (+http://www.commoncrawl.org/bot.html)