Generating dynamic program analysis tools

Anthony M. Sloane*

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference proceeding contribution

1 Citation (Scopus)

Abstract

Sophisticated instrumentation-based systems exist for building dynamic analysis tools but to use these systems a developer must write the instrumentation and analysis code by hand. This paper describes how analysis tools can be generated automatically by specifying analysis algorithms using attribute grammars based on the static and dynamic structure of the program being analysed. Using methods similar to those used to generate compilers, this approach enables implicit storage allocation for analysis data, automatic sequencing of analysis steps and transparently supports a variety of data sources and independence from the underlying implementation technology. Furthermore, analysis algorithms can be described in a modular way, enabling reuse. To demonstrate the approach the paper describes the Wyong system that generates dynamic analysis tools from specifications. An example analysis module specification is described and its reuse is illustrated. Wyong is based on the Eli compiler generation system and the ATOM program instrumentation system. To avoid having to build extremely large trees describing the dynamic structure of a program, Wyong automatically generates instrumentation code for ATOM. Combined with other modules generated by Eli, the ATOM-instrumented binary evaluates the specified analysis attribute computations as it executes. Thus the benefits of a specification-based method are combined with the efficiency of an instrumentation-based implementation.

Original languageEnglish
Title of host publicationProceedings of the Australian Software Engineering Conference
EditorsPaul A. Bailes
Place of PublicationLos Alamitos, CA
PublisherInstitute of Electrical and Electronics Engineers (IEEE)
Pages166-173
Number of pages8
ISBN (Print)0818680814
Publication statusPublished - 1997
Externally publishedYes
EventProceedings of the 1997 Australian Software Engineering Conference, ASWEC'97 - Sydney, Aust
Duration: 29 Sep 19972 Oct 1997

Other

OtherProceedings of the 1997 Australian Software Engineering Conference, ASWEC'97
CitySydney, Aust
Period29/09/972/10/97

Fingerprint Dive into the research topics of 'Generating dynamic program analysis tools'. Together they form a unique fingerprint.

  • Cite this

    Sloane, A. M. (1997). Generating dynamic program analysis tools. In P. A. Bailes (Ed.), Proceedings of the Australian Software Engineering Conference (pp. 166-173). Los Alamitos, CA: Institute of Electrical and Electronics Engineers (IEEE).