Section: Partnerships and Cooperations

National Initiatives


Participants : Haniel Barbosa, David Déharbe, Pablo Federico Dobal, Pascal Fontaine, Maximilian Jaroschek, Marek Košta, Stephan Merz, Thomas Sturm.

The SMArT (Satisfiability Modulo Arithmetic Theories) project is funded by ANR-DFG Programmes blancs 2013, a program of the Agence Nationale de la Recherche and the (German) Deutsche Forschungsgemeinschaft DFG. It started in April 2014. The partners are both the French and German parts of VeriDis and the Systerel company. The objective of the SMArT project is to provide advanced techniques for arithmetic reasoning beyond linear arithmetic for formal system verification, and particularly for SMT. Arithmetic reasoning is one strong direction of research at MPI, and the state-of-the-art tool Redlog (section 5.4 ) is mainly developed by Thomas Sturm. The SMT solver veriT (section 5.1 ), developed in Nancy, will serve as an experimentation platform for theories, techniques and methods designed within this project.

In September 2014, Pablo Federico Dobal has been hired as a PhD student in joint supervision with Saarland University, co-funded by the SMArT project and the Région Lorraine. More information on the project can be found on http://smart.gforge.inria.fr/ .


Participants : Manamiary Andriamiarina, Dominique Méry.

The ANR Project IMPEX is an INS ANR project that started in December 2013 for 4 years. It is coordinated by Dominique Méry, the other partners are IRIT/ENSEIHT, Systerel, Supelec and Telecom Sud Paris.

All software systems execute within an environment or context. Reasoning about the correct behavior of such systems is a ternary relation linking the requirements, system and context models. Formal methods are concerned with providing tool (automated) support for the synthesis and analysis of such models. These methods have quite successfully focused on binary relationships, for example: validation of a formal model against an informal one, verification of one formal model against another formal model, generation of code from a design, and generation of tests from requirements. The contexts of the systems in these cases are treated as second-class citizens: in general, the modeling is implicit and usually distributed between the requirements model and the system model. This project proposal is concerned with the explicit modeling of contexts as first-class citizens.

Several approaches aim at formalizing mathematical theories that are applicable in the formal developments of systems. These theories are helpful for building complex formalizations, expressing and reusing proof of properties. Usually, these theories are defined within contexts, that are imported and and/or instantiated. They usually represent the implicit semantics of the systems and are expressed by types, logics, algebras, etc. However, an implicit handling of contexts loses important information, and therefore is not expressive enough for ensuring that even a verified system is “correct”. As a very simple example, take two formally developed systems that are composed to exchange currency data represented by a float. This system is no longer consistent if one system refers to Euros and the other to dollars. The objective of the IMPEX project is to build explicit formal models of contextual semantics and to extend proof-based techniques for handling such a stronger semantics [23] .

Inria Development Action VeriT

Participants : Pablo Federico Dobal, Pascal Fontaine.

Inria funded this project (started in 2011) to support the development of the SMT solver veriT (see section  5.1 ), including added expressiveness, improved efficiency and code stability, and interfaces with tools that embed veriT as a backend solver. The project is coordinated by Pascal Fontaine and also includes Inria Rennes (Celtique) and Sophia Antipolis (Marelle). Pablo Federico Dobal was hired in 2012 on a position funded by this project and has in particular contributed to improvements in the code of the solver as well as of the testing platform that allows us to detect bugs and the impact of changes on the performance of the tool. He also contributed to the maintenance of the deltaSMT tool, which has been used by several other teams of SMT developers for debugging SMT solvers.