Abstract
Path profiling records the frequency of each path in an executed program. To accomplish profiling, probes are instrumented in the program and executed as the program runs. So, the number of probes has a significant impact on the efficiency of a profiling technique. By profiling only the interesting paths, existing techniques try to improve the profiling efficiency by reducing the number of probes and optimize path encodings for efficient storage. However, they lack accuracy, waste time on running uninteresting paths, and can mainly deal with acyclic paths. In this article, a novel technique called Profiling Selected Paths (PSP) is introduced to profile selected paths, which enables custom selection for both acyclic and cyclic paths and increases the execution efficiency by early termination on uninteresting paths. Theoretical analysis and experimental evaluation indicate that PSP performs better than existing techniques.
Similar content being viewed by others
References
Apiwattanapong T, Harrold M J. Selective path profiling. In: Dwyer M B, Palsberg J, eds. Workshop on Program Analysis for Software Tools and Engineering, Charleston, South Carolina, 2002. 35–42
Vaswani K, Nori A V, Chilimbi T M. Preferential path profiling: compactly numbering interesting paths. In: Hofmann M, Felleisen M, eds. Proceedings of the 34th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Nice, 2007. 351–362
Li B X, Wang L L, Leung H, et al. Profiling all paths: a new profiling technique for both cyclic and acyclic paths. J Syst Softw, 2012, 85: 1558–1576
Joshi R, Bond M D, Zilles C. Targeted path profiling: lower overhead path profiling for staged dynamic optimization systems. International Symposium on Code Generation and Optimization, San Jose, CA, 2004. 239–250
Bond M D, McKinley K S. Practical path profiling for dynamic optimizers. International Symposium on Code Generation and Optimization, San Jose, CA, 2005. 205–216
Tallam S, Zhang X, Gupta R. Extending path profiling across loop backedges and procedure boundaries. International Symposium on Code Generation and Optimization, San Jose, CA, 2004. 251–264
Roy S, Srikant Y N. Profiling k-iteration paths: a generalization of the Ball-Larus profiling algorithm. Proceedings of the 2009 International Symposium on Code Generation and Optimization, Seattle, Washington, 2009. 70–80
Melski D, Reps T W. Interprocedural Path Profiling. In: Jahnichen S, ed. Proceedings of the 8th International Conference on Compiler Construction, Held as Part of the European Joint Conferences on the Theory and Practice of Software, Amsterdam, 1999. 47–62
Sumner W N, Zheng Y, Weeratunge D, et al. 2010. Precise calling context encoding. In: Kramer J, Bishop J, Devanbu P T, Uchitel S, eds. Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, Cape Town, 2010. 525–534
Author information
Authors and Affiliations
Corresponding author
Electronic supplementary material
Rights and permissions
About this article
Cite this article
Li, B., Wang, L. & Leung, H. Profiling selected paths with loops. Sci. China Inf. Sci. 57, 1–15 (2014). https://doi.org/10.1007/s11432-014-5109-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11432-014-5109-5