TY - GEN
T1 - Frequency estimation of virtual call targets for object-oriented programs
AU - Zhang, Cheng
AU - Xu, Hao
AU - Zhang, Sai
AU - Zhao, Jianjun
AU - Chen, Yuting
PY - 2011
Y1 - 2011
N2 - The information of execution frequencies of virtual call targets is valuable for program analyses and optimizations of object-oriented programs. However, to obtain this information, most of the existing approaches rely on dynamic profiling. They usually require running the programs with representative workloads, which are often absent in practice. Additionally, some kinds of programs are very sensitive to run-time disturbance, thus are generally not suitable for dynamic profiling. Therefore, a technique which can statically estimate the execution frequencies of virtual call targets will be very useful. In this paper we propose an evidence-based approach to frequency estimation of virtual call targets. By applying machine learning algorithms on the data collected from a group of selected programs, our approach builds an estimation model to capture the relations between static features and run-time program behaviors. Then, for a new program, the approach estimates the relative frequency for each virtual call target by applying the model to the static features of the program. Once the model has been built, the estimation step is purely static, thus does not suffer the shortcomings of existing dynamic techniques. We have performed a number of experiments on real-world large-scale programs to evaluate our approach. The results show that our approach can estimate frequency distributions which are much more informative than the commonly used uniform distribution.
AB - The information of execution frequencies of virtual call targets is valuable for program analyses and optimizations of object-oriented programs. However, to obtain this information, most of the existing approaches rely on dynamic profiling. They usually require running the programs with representative workloads, which are often absent in practice. Additionally, some kinds of programs are very sensitive to run-time disturbance, thus are generally not suitable for dynamic profiling. Therefore, a technique which can statically estimate the execution frequencies of virtual call targets will be very useful. In this paper we propose an evidence-based approach to frequency estimation of virtual call targets. By applying machine learning algorithms on the data collected from a group of selected programs, our approach builds an estimation model to capture the relations between static features and run-time program behaviors. Then, for a new program, the approach estimates the relative frequency for each virtual call target by applying the model to the static features of the program. Once the model has been built, the estimation step is purely static, thus does not suffer the shortcomings of existing dynamic techniques. We have performed a number of experiments on real-world large-scale programs to evaluate our approach. The results show that our approach can estimate frequency distributions which are much more informative than the commonly used uniform distribution.
UR - http://www.scopus.com/inward/record.url?scp=79961154831&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=79961154831&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-22655-7_24
DO - 10.1007/978-3-642-22655-7_24
M3 - Conference contribution
AN - SCOPUS:79961154831
SN - 9783642226540
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 510
EP - 532
BT - ECOOP 2011 - Object-Oriented Programming - 25th European Conference, Proceedings
T2 - 25th European Conference on Object-Oriented Programming, ECOOP 2011
Y2 - 25 July 2011 through 29 July 2011
ER -