Rewriting for Fast Prototyping of Static Analyzers - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2006

Rewriting for Fast Prototyping of Static Analyzers

Yohan Boichut
  • Fonction : Auteur
  • PersonId : 830638
Thomas Genet
Thomas Jensen
  • Fonction : Auteur
  • PersonId : 832993
Luka Le Roux
  • Fonction : Auteur
  • PersonId : 835948

Résumé

This paper defines a new framework for fast prototyping of static analyzers based on 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 program states that can be reached. With this approximation, it is possible to prove a variety of safety or security properties expressible in terms of (un)reachability. Compared with static analysis based on abstract interpretation, a salient feature of this approach is that the approximation is correct by construction. The approach enables fast prototyping of static analyzers because modifying the analysis simply amounts to changing the set of rewrite rules defining the approximation. To illustrate the framework proposed here on a realistic programming language we instantiate it with the Java Virtual Machine semantics and use Java bytecode programs as running examples. We show how to compile a Java bytecode program into an equivalent term rewriting system and show how to specify and implement simple class analysis by defining rewriting approximations.
Fichier principal
Vignette du fichier
BoichutGJL-RR06.pdf (314.82 Ko) Télécharger le fichier

Dates et versions

inria-00106330 , version 1 (13-10-2006)
inria-00106330 , version 2 (16-10-2006)

Identifiants

  • HAL Id : inria-00106330 , version 1

Citer

Yohan Boichut, Thomas Genet, Thomas Jensen, Luka Le Roux. Rewriting for Fast Prototyping of Static Analyzers. [Research Report] 2006, pp.20. ⟨inria-00106330v1⟩
268 Consultations
118 Téléchargements

Partager

Gmail Facebook X LinkedIn More