Participant : Bertrand Jeannet.
The APRON library (http://apron.cri.ensmp.fr/library/ )is dedicated to the static analysis of the numerical variables of a program by Abstract Interpretation  . Its goal is threefold: provide ready-to-use numerical abstractions for analysis implementers, encourage the research in numerical abstract domains by providing a platform for integration and comparison, and provide a teaching and demonstration tool to disseminate knowledge on abstract interpretation.
Motivation and Principles.
Many abstract domains have been designed and implemented for analysing the possible values of numerical variables during the execution of a program, cf. Fig. 1 . However their API diverge largely (datatypes, signatures, ...), which does not facilitate their diffusion and experimental comparison w.r.t. efficiency and precision aspects.
The APRON library aims to provide:
A uniform API for existing numerical abstract domains;
A higher-level interface to the client tools, by factorizing functionalities that are largely independent of abstract domains.
From an abstract domain implementor point of view, the benefits of the APRON library are:
The ability to focus on core, low-level functionalities;
The help of generic services adding higher-level services for free.
For the client static analysis community, the benefits are an unified, higher-level interface, allows experimenting, comparing and combining abstract domains.
Fig. 2 depicts the organisation of the APRON library. The existing underlying libraries connect to the developer interface, using domain-independent datatypes, and exploiting common services. Independent libraries like PPL  can be connected using a wrapper. Client tools connect to the higher-level user interface, where variables (or addresses) and environments replace geometrical notions like dimensions and space dimensionality.
The APRON library is written in C ANSI, with an object-oriented and thread-safe design. Both multi-precision and floating-point numbers are supported. A wrapper for the OCaml language is available, and a C++ wrapper is on the way. It is distributed since June 2006 under the LGPL license and available at http://apron.cri.ensmp.fr/ .
Its development has still progressed much since. There are already many external users ( ProVal/Démons, LRI Orsay, France — Analysis of Computer Systems Group, New-York University, USA — Sierum software analysis platform, Kansas State University, USA — NEC Labs, Princeton, USA — EADS CCR, Paris, France — IRIT, Toulouse, France )