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

ATOM: a system for building customized program analysis tools

Published: 01 June 1994 Publication History

Abstract

ATOM (Analysis Tools with OM) is a single framework for building a wide range of customized program analysis tools. It provides the common infrastructure present in all code-instrumenting tools; this is the difficult and time-consuming part. The user simply defines the tool-specific details in instrumentation and analysis routines. Building a basic block counting tool like Pixie with ATOM requires only a page of code.
ATOM, using OM link-time technology, organizes the final executable such that the application program and user's analysis routines run in the same address space. Information is directly passed from the application program to the analysis routines through simple procedure calls instead of inter-process communication or files on disk. ATOM takes care that analysis routines do not interfere with the program's execution, and precise information about the program is presented to the analysis routines at all times. ATOM uses no simulation or interpretation.
ATOM has been implemented on the Alpha AXP under OSF/1. It is efficient and has been used to build a diverse set of tools for basic block counting, profiling, dynamic memory recording, instruction and data cache simulation, pipeline simulation, evaluating branch prediction, and instruction scheduling.

References

[1]
Anant Agarwal, Richard Sites, and Mark Horwitz. ATUM: A New Technique for Capturing Address Traces Using Microcode. Proceedings of the 13th International Symposium on Computer Architecture, June 1986.
[2]
Robert Bedichek. Some Efficient Architectures Simulation Techniques. Winter 1990 USENIX Conference, January 1990.
[3]
Anita Borg, R.E. Kessler, Georgia Lazana, and David Wall. Long Address Traces from RISC Machines: Generation and Analysis, Proceedings of the 17th Annual Symposium on Computer Architecture, May 1990, also available as WRL Research Report 89/14, Sep 1989.
[4]
Eric A. Brewer, Chrysanthos N. Dellarocas, Adrian Colbrook, and William E. Weihl. PROTEUS: A High-Performance Parallel-Architecture Simulator. MIT/LCS~-516, MIT, 1991.
[5]
RobertF. Cmelikand David Keppel, Shade: A Fast Instruction-Set Simulator for Execution Profiling. Technical Report UWCSE 93-06-06, University of Washington.
[6]
Susan J. Eggers, David R. Keppel, Eric J. Koldinger, and Henry M. Levy. Techniques for Efficient Inline Tracing on a Shared-Memory Multiprocessor. SIGMETRICS Conference on Measurement and Modeling of Computer Systems, vol 8~ no 1, May 1990.
[7]
Stephen R. Goldschmidt and John L. Hennessy, The Accuracy of Trace-Driven Simulations of Multiprocessors. CSL-TR-92-546, Computer Systems Laboratory, Stanford University, September 1992.
[8]
James R. Larus and Thomas Ball. Rewriting executable files to measure program behavior. Software, Practice and Experience, vol 24, no. 2, pp 197-218, February 1994.
[9]
MIPS Computer Systems, Inc. Assembly Language Programmer's Guide, 1986.
[10]
Richard L. Sites, ed. Alpha Architecture Reference Manual Digital Press, 1992.
[11]
Amitabh Srivastava and David W. Wall. A Practical System for Intermodule Code Optimization at Link-Time. Journal of Programming Language, 1(1), pp 1-18, March 1993. Also available as WRL Research Report 92/6, December 1992.
[12]
Amitabh Srivastava and David W. Wall. Link- Time Optimization of Address Calculation on a 64- bit Architecture. Proceedings of the SIGPLAN'94 Conference on Programming Language Design and Implementation, to appear. Also available as WRL Research Report 94/1, February 1994.
[13]
Amitabh Srivastava. Unreachable procedures in object-oriented programming, ACM LOPLAS, Vol 1, #4, pp 355-364, December 1992. Also available as WRL Research Report 93/4, August 1993.
[14]
David W. Wail. Systems for late code modification. In Robert Giegerich and Susan L. Graham, eds, Code Generation - Concepts, Tools, Techniques, pp. 275-293, Springer-Verlag, 1992. Also available as WRL Research Report 92/3, May 1992.

Cited By

View all
  • (2024)Towards Realistic Results for Instrumentation-Based Profilers for JIT-Compiled SystemsProceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3679007.3685058(82-89)Online publication date: 13-Sep-2024
  • (2024)Flexible Non-intrusive Dynamic Instrumentation for WebAssemblyProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 310.1145/3620666.3651338(398-415)Online publication date: 27-Apr-2024
  • (2024)Electronic Properties of Si and C Substitutional Defects and Porosity in C‐Rich and Si‐Rich Hydrogenated Roundish SiC Quantum Dots: An Ab‐Initio StudyAdvanced Theory and Simulations10.1002/adts.202400637Online publication date: 17-Aug-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PLDI '94: Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
August 1994
360 pages
ISBN:089791662X
DOI:10.1145/178243
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: 01 June 1994

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

PLDI94
Sponsor:

Acceptance Rates

Overall Acceptance Rate 406 of 2,067 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)277
  • Downloads (Last 6 weeks)49
Reflects downloads up to 22 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Towards Realistic Results for Instrumentation-Based Profilers for JIT-Compiled SystemsProceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3679007.3685058(82-89)Online publication date: 13-Sep-2024
  • (2024)Flexible Non-intrusive Dynamic Instrumentation for WebAssemblyProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 310.1145/3620666.3651338(398-415)Online publication date: 27-Apr-2024
  • (2024)Electronic Properties of Si and C Substitutional Defects and Porosity in C‐Rich and Si‐Rich Hydrogenated Roundish SiC Quantum Dots: An Ab‐Initio StudyAdvanced Theory and Simulations10.1002/adts.202400637Online publication date: 17-Aug-2024
  • (2023)Don’t Trust Your Profiler: An Empirical Study on the Precision and Accuracy of Java ProfilersProceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3617651.3622985(100-113)Online publication date: 19-Oct-2023
  • (2023)QueryX: Symbolic Query on Decompiled Code for Finding Bugs in COTS Binaries2023 IEEE Symposium on Security and Privacy (SP)10.1109/SP46215.2023.10179314(3279-3295)Online publication date: May-2023
  • (2023)ReferencesComputers as Components10.1016/B978-0-323-85128-2.16001-3(505-518)Online publication date: 2023
  • (2023)BREWasm: A General Static Binary Rewriting Framework for WebAssemblyStatic Analysis10.1007/978-3-031-44245-2_8(139-163)Online publication date: 24-Oct-2023
  • (2022)GRIN: Make Rewriting More Precise2022 3rd Asia Service Sciences and Software Engineering Conference10.1145/3523181.3523207(180-188)Online publication date: 24-Feb-2022
  • (2022)Software Visualizations to Analyze Memory Consumption: A Literature ReviewACM Computing Surveys10.1145/348513455:1(1-34)Online publication date: 17-Jan-2022
  • (2021)PerfLens: a data-driven performance bug detection and fix platformProceedings of the 10th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis10.1145/3460946.3464318(19-24)Online publication date: 22-Jun-2021
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media