Title :
The road not taken: Estimating path execution frequency statically
Author :
Buse, Raymond P L ; Weimer, Westley
Author_Institution :
Univ. of Virginia, Charlottesville, VA
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;
Conference_Titel :
Software Engineering, 2009. ICSE 2009. IEEE 31st International Conference on
Conference_Location :
Vancouver, BC
Print_ISBN :
978-1-4244-3453-4
DOI :
10.1109/ICSE.2009.5070516