Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1190216.1190268acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article

Preferential path profiling: compactly numbering interesting paths

Published: 17 January 2007 Publication History

Abstract

Path profiles provide a more accurate characterization of a program's dynamic behavior than basic block or edge profiles, but are relatively more expensive to collect. This has limited their use in practice despite demonstrations of their advantages over edge profiles for a wide variety of applications.We present a new algorithm called preferential path profiling (PPP), that reduces the overhead of path profiling. PPP leverages the observation that most consumers of path profiles are only interested in a subset of all program paths. PPP achieves low overhead by separating interesting paths from other paths and assigning a set of unique and compact numbers to these interesting paths. We draw a parallel between arithmetic coding and path numbering, and use this connection to prove an optimality result for the compactness of path numbering produced by PPP. This compact path numbering enables our PPP implementation to record path information in an array instead of a hash table. Our experimental results indicate that PPP reduces the runtime overhead of profiling paths exercised by the largest (ref) inputs of the SPEC CPU2000 benchmarks from 50% on average (maximum of 132%) to 15% on average (maximum of 26%) as compared to a state-of-the-art path profiler.

References

[1]
G. Ammons and J. R. Larus. Improving data-flow analysis with path profiles. In ACM SIGPLAN Symposium on Programming Language Design and Implementation (PLDI), pages 72--84, 1998.
[2]
T. Apiwattanapong and M. J. Harrold. Selective path profiling. In Workshop. on Program Analysis for Software Tools and Engineering (PASTE), pages 35--42, 2002.
[3]
T. Ball and J. R. Larus. Efficient path profiling. In International Symposium on Microarchitecture (MICRO), pages 46--57, 1996.
[4]
T. Ball and J. R. Larus. Programs follow paths. Technical Report MSR-TR-99-01, Microsoft Research, 1999.
[5]
T. Ball, P. Mataga, and S. Sagiv. Edge profiling versus path profiling: The showdown. In ACM SIGPLAN Symposium on Principles of Programming Languages(POPL), pages 134--148, 1998.
[6]
M. D. Bond and K. S. McKinley. Practical path profiling for dynamic optimizers. In International Symposium on Code Generation and Optimization (CGO), pages 205--216, 2005.
[7]
T. M. Cover and J. A. Thomas. Elements of Information Theory. John Wiley & Sons, Inc., N. Y., 1991.
[8]
R. Joshi, M. D. Bond, and C. B. Zilles. Targeted path profiling: Lower overhead path profiling for staged dynamic optimization systems. In International Symposium on Code Generation and Optimization (CGO), pages 239--250, 2004.
[9]
A. Kolmogorov. Three approaches to the quantitative definition of information. Prob. Peredach Inform, 1(1):3--11, 1965.
[10]
K. S. McKinley, J. Burrill, M. D. Bond, D. Burger, B. Cahoon, J. Gibson, J. E. B. Moss, A. Smith, Z. Wang, and C. Weems. The Scale compiler. http://ali-www.cs.umass.edu/Scale, 2005.
[11]
D. Melski and T. W. Reps. Interprocedural path profiling. In Proceedings of the 8th International Conference on Compiler Construction (CC), pages 47--62, 1999.
[12]
E. Perelman, T. M. Chilimbi, and B. Calder. Variational path profiling. In Parallel Architectures and Compilation Techniques '05 (PACT), pages 7--16, 2005.
[13]
J. Rissanen and G. G. Langdon. Arithmetic coding. IBM J. Res. Develop., 23(2):149--162, 1979.
[14]
S. Tallam, X. Zhang, and R. Gupta. Extending path profiling across loop backedges and procedure boundaries. In International Symposium on Code Generation and Optimization (CGO), pages 251--264, 2004.
[15]
I. H. Witten, R. M. Neal, and J. G. Cleary. Arithmetic coding for data compression. Communications of the ACM, 30(6):520--540, 1987.

Cited By

View all
  • (2021)OPE: Transforming Programs with Clean and Precise Separation of Tested Intraprocedural Program Paths with Path Profiling2021 IEEE 21st International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS54544.2021.00039(279-290)Online publication date: Dec-2021
  • (2020)Compactly Numbering the Approximately Most Executing Path for k-iteration2020 Fourth International Conference on Inventive Systems and Control (ICISC)10.1109/ICISC47916.2020.9171211(342-347)Online publication date: Jan-2020
  • (2017)DuckTracksProceedings of the 8th ACM/SPEC on International Conference on Performance Engineering10.1145/3030207.3030235(327-330)Online publication date: 17-Apr-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '07: Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
January 2007
400 pages
ISBN:1595935754
DOI:10.1145/1190216
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 42, Issue 1
    Proceedings of the 2007 POPL Conference
    January 2007
    379 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/1190215
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 17 January 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. arithmetic coding
  2. dynamic analysis
  3. preferential paths
  4. profiling

Qualifiers

  • Article

Conference

POPL07

Acceptance Rates

Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '26

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)1
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2021)OPE: Transforming Programs with Clean and Precise Separation of Tested Intraprocedural Program Paths with Path Profiling2021 IEEE 21st International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS54544.2021.00039(279-290)Online publication date: Dec-2021
  • (2020)Compactly Numbering the Approximately Most Executing Path for k-iteration2020 Fourth International Conference on Inventive Systems and Control (ICISC)10.1109/ICISC47916.2020.9171211(342-347)Online publication date: Jan-2020
  • (2017)DuckTracksProceedings of the 8th ACM/SPEC on International Conference on Performance Engineering10.1145/3030207.3030235(327-330)Online publication date: 17-Apr-2017
  • (2017)Lightweight control-flow instrumentation and postmortem analysis in support of debuggingAutomated Software Engineering10.1007/s10515-016-0190-124:4(865-904)Online publication date: 1-Dec-2017
  • (2016)Directed test generation to detect loop inefficienciesProceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering10.1145/2950290.2950360(895-907)Online publication date: 1-Nov-2016
  • (2016)Zero-overhead profiling via EM emanationsProceedings of the 25th International Symposium on Software Testing and Analysis10.1145/2931037.2931065(401-412)Online publication date: 18-Jul-2016
  • (2016)Exploiting Causality to Engineer Elastic Distributed Software2016 IEEE 36th International Conference on Distributed Computing Systems (ICDCS)10.1109/ICDCS.2016.102(232-241)Online publication date: Jun-2016
  • (2016)Comparative performance analysis of calling context profiling data structuresInternational Journal of System Assurance Engineering and Management10.1007/s13198-016-0447-x8:1(135-150)Online publication date: 30-Mar-2016
  • (2016)A new method to encode calling contexts with recursions一种针对递归的调用语境编码技术Science China Information Sciences10.1007/s11432-015-5418-359:5Online publication date: 12-Apr-2016
  • (2015)P3: partitioned path profilingProceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering10.1145/2786805.2786868(485-495)Online publication date: 30-Aug-2015
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media