Sawja: static analysis workshop for java

  • Authors:
  • Laurent Hubert;Nicolas Barré;Frédéric Besson;Delphine Demange;Thomas Jensen;Vincent Monfort;David Pichardie;Tiphaine Turpin

  • Affiliations:
  • CNRS, IRISA, France;INRIA Rennes, Bretagne Atlantique, France;INRIA Rennes, Bretagne Atlantique, France;ENS Cachan, Antenne de Bretagne, IRISA, France;INRIA Rennes, Bretagne Atlantique, France;INRIA Rennes, Bretagne Atlantique, France;INRIA Rennes, Bretagne Atlantique, France;INRIA Rennes, Bretagne Atlantique, France

  • Venue:
  • FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Static analysis is a powerful technique for automatic verification of programs but raises major engineering challenges when developing a full-fledged analyzer for a realistic language such as Java. Efficiency and precision of such a tool rely partly on low level components which only depend on the syntactic structure of the language and therefore should not be redesigned for each implementation of a new static analysis. This paper describes the Sawja library: a static analysis workshop fully compliant with Java 6 which provides OCaml modules for efficiently manipulating Java bytecode programs. We present the main features of the library, including i) efficient functional data-structures for representing a program with implicit sharing and lazy parsing, ii) an intermediate stack-less representation, and iii) fast computation and manipulation of complete programs. We provide experimental evaluations of the different features with respect to time, memory and precision.