Team celtique

Overall Objectives
Scientific Foundations
New Results
Contracts and Grants with Industry
Other Grants and Activities

Section: Software

Sawja: Static Analysis Workshop for Java Applications

Participants : Frédéric Besson, Delphine Demange, Laurent Hubert, Vincent Monfort, David Pichardie, Tiphaine Turpin.

Javalib/Sawja is an OCaml platform for the development of static analyses of Java bytecode programs.

Javalib is a library to parse Java .class file into OCaml data structure, thus enabling the OCaml programmer to extract informations from class files, to manipulate and to generate valid class files. The library is maintained by the CELTIQUE team. It is distributed under the GNU General Public License.

On top of this library, we have developed the Sawja library that provides a high level representation of Java bytecode programs. Whereas Javalib is dedicated to isolated classes, Sawja handles bytecode programs with their class hierarchy and with control flow algorithms. Sawja provides some stackless intermediate representations of code. The transformation algorithm, common to these representations, has been formalized and proved to be semantics-preserving (see paragraph  6.1.2 ). This software is distributed under the GNU General Public License.


Logo Inria