DocumentCode
1384009
Title
Using paths to measure, explain, and enhance program behavior
Author
Ball, Thomas ; Larus, James R.
Author_Institution
Microsoft Res., USA
Volume
33
Issue
7
fYear
2000
fDate
7/1/2000 12:00:00 AM
Firstpage
57
Lastpage
65
Abstract
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. The article exploits the insight that program statements do not execute in isolation, but are typically correlated with the behavior of previously executed code
Keywords
program debugging; program diagnostics; program testing; reverse engineering; software performance evaluation; computer program; dynamic behavior; invisible dynamic sequencing; previous state; previously executed code; program behavior enhancement; program execution; program paths; program statements; Aggregates; Computational modeling; Computer aided instruction; Computer architecture; Computer simulation; Costs; Debugging; Program processors; Runtime; Testing;
fLanguage
English
Journal_Title
Computer
Publisher
ieee
ISSN
0018-9162
Type
jour
DOI
10.1109/2.869371
Filename
869371
Link To Document