Rewriting Approximations for Fast Prototyping of Static Analyzers

Yohan Boichut 1 Thomas Genet 1 Thomas P. Jensen 1 Luka Le Roux 1
1 Lande - Logiciel : ANalyse et DEveloppement
IRISA - Institut de Recherche en Informatique et Systèmes Aléatoires, Inria Rennes – Bretagne Atlantique
Abstract : This paper shows how to construct static analyzers using tree automata and rewriting techniques. Starting from a term rewriting system representing the operational semantics of the target programming language and given a program to analyze, we automatically construct an over-approximation of the set of reachable terms, i.e. of the program states that can be reached. The approach enables fast prototyping of static analyzers because modifying the analysis simply amounts to changing the set of rewrite rules defining the approximation. A salient feature of this approach is that the approximation is correct by construction and hence does not require an explicit correctness proof. To illustrate the framework proposed here on a realistic programming language we instantiate it with the Java Virtual Machine semantics and perform class analysis on Java bytecode programs.
Document type :
Conference papers
Complete list of metadatas

https://hal.archives-ouvertes.fr/hal-00463418
Contributor : Yohan Boichut <>
Submitted on : Friday, March 12, 2010 - 10:21:09 AM
Last modification on : Friday, November 16, 2018 - 1:23:35 AM

Identifiers

  • HAL Id : hal-00463418, version 1

Citation

Yohan Boichut, Thomas Genet, Thomas P. Jensen, Luka Le Roux. Rewriting Approximations for Fast Prototyping of Static Analyzers. Rewriting Techniques and Applications, 2007, France. pp.48-62. ⟨hal-00463418⟩

Share

Metrics

Record views

371