000192933 001__ 192933
000192933 005__ 20190213064544.0
000192933 037__ $$aARTICLE
000192933 245__ $$aUsing Paths to Measure, Explain, and Enhance Program Behavior
000192933 269__ $$a2000
000192933 260__ $$bIEEE$$c2000
000192933 336__ $$aJournal Articles
000192933 520__ $$aWhat 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
000192933 700__ $$aBall, Thomas
000192933 700__ $$aLarus, James R.
000192933 773__ $$j33$$k7$$q57-65$$tIEEE Computer
000192933 909C0 $$0252497$$pUPLARUS$$xU12814
000192933 909CO $$ooai:infoscience.tind.io:192933$$pIC$$particle
000192933 937__ $$aEPFL-ARTICLE-192933
000192933 973__ $$aOTHER$$rREVIEWED$$sPUBLISHED
000192933 980__ $$aARTICLE