Affiliation:
1. University of Wisconsin
2. University of Wisconsin and GrammaTech, Inc.
Abstract
This article describes the design and implementation of a system, called T
SL
(for Transformer Specification Language), that provides a systematic solution to the problem of creating retargetable tools for analyzing machine code. T
SL
is a tool generator---that is, a metatool---that automatically creates different abstract interpreters for machine-code instruction sets.
The most challenging technical issue that we faced in designing T
SL
was how to automate the generation of the set of
abstract transformers
for a given abstract interpretation of a given instruction set. From a description of the
concrete operational semantics
of an instruction set, together with the datatypes and operations that define an abstract domain, T
SL
automatically creates the set of abstract transformers for the instructions of the instruction set. T
SL
advances the state-of-the-art in program analysis because it provides two dimensions of parameterizability: (i) a given analysis component can be retargeted to different instruction sets; (ii) multiple analysis components can be created automatically from a single specification of the concrete operational semantics of the language to be analyzed.
T
SL
is an
abstract-transformer-generator generator
. The article describes the principles behind T
SL
, and discusses how one uses T
SL
to develop different abstract interpreters.
Funder
Air Force Research Laboratory
Office of Naval Research
U.S. Army Research Laboratory
Defense Advanced Research Projects Agency
GrammaTech, Inc.
Symantec Research Labs Graduate Fellowship
Division of Computing and Communication Foundations
Publisher
Association for Computing Machinery (ACM)
Reference108 articles.
1. Adding Nesting Structure to Words
2. APRON. 2007. APRON numerical abstract domain library. apron.cri.ensmp.fr. APRON. 2007. APRON numerical abstract domain library. apron.cri.ensmp.fr.
3. ARMv7-A 2013. ARMv7-A in HOL. github.com/mn200/HOL/tree/master/examples/ARM/v7. ARMv7-A 2013. ARMv7-A in HOL. github.com/mn200/HOL/tree/master/examples/ARM/v7.
4. Graph rewrite systems for program optimization
Cited by
31 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Deriving Abstract Interpreters from Skeletal Semantics;Electronic Proceedings in Theoretical Computer Science;2023-09-14
2. Towards a Semantic-Aware Code Generator for Cyber-Physical Systems;2022 11th Mediterranean Conference on Embedded Computing (MECO);2022-06-07
3. Program analysis via efficient symbolic abstraction;Proceedings of the ACM on Programming Languages;2021-10-20
4. An Isabelle/HOL Formalisation of the SPARC Instruction Set Architecture and the TSO Memory Model;Journal of Automated Reasoning;2020-08-14
5. A complete formal semantics of x86-64 user-level instruction set architecture;Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation;2019-06-08