DocumentCode
1993896
Title
The road not taken: Estimating path execution frequency statically
Author
Buse, Raymond P L ; Weimer, Westley
Author_Institution
Univ. of Virginia, Charlottesville, VA
fYear
2009
fDate
16-24 May 2009
Firstpage
144
Lastpage
154
Abstract
A variety of compilers, static analyses, and testing frameworks rely heavily on path frequency information. Uses for such information range from optimizing transformations to bug finding. Path frequencies are typically obtained through profiling, but that approach is severely restricted: it requires running programs in an indicative environment, and on indicative test inputs. We present a descriptive statistical model of path frequency based on features that can be readily obtained from a program´s source code. Our model is over 90% accurate with respect to several benchmarks, and is sufficient for selecting the 5% of paths that account for over half of a program´s total runtime. We demonstrate our technique´s robustness by measuring its performance as a static branch predictor, finding it to be more accurate than previous approaches on average. Finally, our qualitative analysis of the model provides insight into which source-level features indicate ldquohot pathsrdquo.
Keywords
program compilers; program debugging; program diagnostics; program testing; statistical analysis; bug finding; compilers; descriptive statistical model; hot paths; path execution frequency estimation; performance measurement; program source code; static analyses; static branch predictor; testing frameworks; Benchmark testing; Data analysis; Frequency estimation; Information analysis; Particle measurements; Performance analysis; Roads; Robustness; Runtime; Scalability;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering, 2009. ICSE 2009. IEEE 31st International Conference on
Conference_Location
Vancouver, BC
ISSN
0270-5257
Print_ISBN
978-1-4244-3453-4
Type
conf
DOI
10.1109/ICSE.2009.5070516
Filename
5070516
Link To Document