Lifetime analysis for attributes
Acta Informatica
The optimization of automatically generated compilers
The optimization of automatically generated compilers
Attribute grammars: definitions, systems and bibliography
Attribute grammars: definitions, systems and bibliography
Techniques for efficient inline tracing on a shared-memory multiprocessor
SIGMETRICS '90 Proceedings of the 1990 ACM SIGMETRICS conference on Measurement and modeling of computer systems
Eli: a complete, flexible compiler construction system
Communications of the ACM
Fast instruction cache performance evaluation using compile-time analysis
SIGMETRICS '92/PERFORMANCE '92 Proceedings of the 1992 ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems
ATOM: a system for building customized program analysis tools
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Modularity and reusability in attribute grammars
Acta Informatica
Trap-driven simulation with Tapeworm II
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
EEL: machine-independent executable editing
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Computer
Shade: A Fast Instruction Set Simulator for Execution Profiling
Shade: A Fast Instruction Set Simulator for Execution Profiling
IEEE Transactions on Knowledge and Data Engineering
Hi-index | 0.00 |
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. The 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.