Section: Overall Objectives
Highlights of the year
The APRON library: three years of effort
Pop Art has been involved in the ACI “Sécurité et informatique” Apron (Analyse de PROgrammes Numériques) (see 8.2.3 ), which focused on the theory of numerical abstract domains, and their application to the static analysis of the numerical variables of a program.
The main practical goal of this three-years project was to mature the field by designing and implementing a common software platform suited for a broad range of static analysis applications, after having clarified and unified the needs of the five actors of the project. This work resulted in the APRON library, which is dedicated to the static analysis of the numerical variables of a program by abstract interpretation. Its goal is threefold:
providing ready-to-use numerical abstractions for analysis implementers,
encouraging the research in numerical abstract domains by providing a platform for integration and comparison,
and providing a teaching and demonstration tool to disseminate knowledge on abstract interpretation.
APRON is not tied to a particular numerical abstraction. Several abstract domain implementations providing various precision versus cost trade-off are currently implemented. A specific low-level C API was designed to minimize the effort when incorporating a new abstract domain.
From the point of view of the analysis designer, APRON exposes a higher-level, richer, and language-agnostic API. Bindings for C, C++, and OCaml are currently provided. An important recent inclusion is the treatment of non-linear and floating-point expressions in assignments and tests.