Section: Partnerships and Cooperations

European Initiatives

FP7 & H2020 Projects

  • Title: Mobility between Europe and Argentina applying Logics to Systems

  • Programm: FP7

  • Duration: October 2011 – September 2015

  • Coordinator: Université de la sarre

  • Partners:

    • Imperial College of Science, Technology and Medicine (United Kingdom)

    • Rheinisch-Westfälische Technische Hochschule Aachen (Germany)

    • Technische Universiteit Eindhoven (Netherlands)

    • Technische Universitaet Dresden (Germany)

    • University of Leicester (United Kingdom)

    • Universität des Saarlandes (Germany)

    • Universidad de Buenos Aires (Argentina)

    • Universidad Nacional de Córdoba (Argentina)

    • Universidad Nacional de Rio Cuarto (Argentina)

    • Instituto Tecnológico Buenos Aires (Argentina)

  • Inria contact: Castuscia Palamidessi

  • The MEALS project funds staff exchanges between institutions in Europe and Argentina. It is structured in five work packages (Quantitative Analysis of Concurrent Program Behaviour, Reasoning Tasks for Specification and Verification, Security and Information Flow Properties, Synthesis in Model-based Systems Engineering, Foundations for the Elaboration and Analysis of Requirements Specifications). Our team mainly cooperates with the group led by Carlos Areces in Córdoba within work package 2. In 2015, the project funded visits by Raúl Fervari and Guillaume Hoffmann in Nancy.

Collaborations with Major European Organizations

Cooperation with EPFL

Participants : Haniel Barbosa, Jasmin Christian Blanchette, Simon Cruanes, Pascal Fontaine.

We cooperate with Andrew Reynolds from the École polytechnique fédérale de Lausanne, Switzerland, on improving SMT solvers and bridging the gap between SMT solvers and proof assistants. This cooperation started in 2014 between Blanchette and Reynolds and has been pursued in 2015, with mutual one-week visits. The outcomes are manifold:

  • We developed a decision procedure that combines reasoning about datatypes and codatatypes and implemented it in the SMT solver CVC4 [31] . This procedure is useful both for proving theorems and for model finding (counterexample generation).

  • We designed an encoding of recursive and corecursive function definitions on datatypes and codatatypes that makes it possible to employ finite model finding techniques on functions with infinite domains, as long as they satisfy a wide, semantic criterion [36] . We started the development of a model finder for higher-order logic, called Nunchaku, based on this idea.

  • We started work on a general framework for handling quantified formulas in SMT solving. Its focus is on the derivation of instances conflicting with a ground context, redefining the approach introduced by Reynolds et al. [68] . We enhanced the classical congruence closure algorithm so that it can handle free variables [34] . We expect the fruits of this research to be implemented in veriT and CVC4.

Cooperation with NUI Maynooth, Ireland

Participant : Dominique Méry.

The project Building Reliable Systems: Software Refinement meets Software Verification was a one-year project funded by PHC Ulysses. The academic Irish partner is Rosemary Monahan of NUI Maynooth. The verification of software requires the specification of preconditions and postconditions as well as other properties of the code. These properties are expressed as annotations and provide a detailed understanding of how the software is implemented. In program verification, the annotation process is often done a posteriori, with verification tools used to check that annotations are sound according to the semantics of the program. Determining the correct annotations to provide a complete specification is difficult, especially when specifying invariant properties of the code. A priori techniques for developing correct software are based on the correct-by-construction paradigm. The refinement-based approach is such a technique, providing for the construction of a correct program through the step-by-step refinement of an initial high-level model of the software. In this way, the program specification is developed alongside the code, discharging the conditions that need to be proved. We focus on combining these two software engineering techniques, to benefit from the strengths of both. We have proposed a framework for integrating the a posteriori paradigm Spec# and the a priori paradigm Event-B. This integration induces a methodology that bridges the gap between software modeling and program verification in the software development life cycle. For validating this methodology, we have designed the Rodin plugin EB2RC that implements transformations of Event-B models into algorithms.