Using Paths to Measure, Explain, and Enhance Program Behavior
Program paths--sequences of executed basic blocks--have proven to be an effective way to capture a program's elusive dynamic behavior. This paper shows how paths and path spectra compactly and precisely record many aspects of programs' execution-time control flow behavior and explores applications of these paths in computer architecture, compilers, debugging, program testing and software maintenance.