This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Using Paths to Measure, Explain, and Enhance Program Behavior
July 2000 (vol. 33 no. 7)
pp. 57-65

What happens when a computer program runs? The answer can be frustratingly elusive, as anyone who has debugged or tuned a program knows. As it runs, a program overwrites its previous state, which might have provided a clue as to how the program got to the point at which it computed the wrong answer or otherwise failed. This all-too-common experience is symptomatic of a more general problem: the difficulty of accurately and efficiently capturing and analyzing the sequence of events that occur when a program executes.

Program paths offer an insight into a program's dynamic behavior that is difficult to achieve any other way. Unlike simpler measures such as program profiles, which aggregate information to reduce the cost of collecting or storing data, paths capture some of the usually invisible dynamic sequencing of statements.

This work exploits the insight that program statements do not execute in isolation, but are typically correlated with the behavior of previously executed code.

Citation:
Thomas Ball, James R. Larus, "Using Paths to Measure, Explain, and Enhance Program Behavior," Computer, vol. 33, no. 7, pp. 57-65, July 2000, doi:10.1109/2.869371
Usage of this product signifies your acceptance of the Terms of Use.