Section: Contracts and Grants with Industry
ANR SESUR 2007 CAVERN
The CAVERN project (Constraints and Abstractions for program VERificatioN) ( aims to enhance the potential of Constraint Programming for the automated verification of imperative programs. The classic approach consists in building a constraint system representating the objective to meet. Constraint solving is currently delegated to "generic" constraint propagation based solvers developed for other applications (combinatorial optimization, planning, etc.). The originality of the project lies in the design of abstraction-based constraint solver dedicated to the automated testing of imperative programs. In Static Analysis, the last few years have seen the development of powerful techniques over various abstract domains (polyhedra, congruence, octagons, etc.) and this project aims to explore results obtained in this area to develop constraint solvers with improved deductive capabilities. The main scientific outcome of the project will be a profound understanding of the benefit of using abstraction techniques in constraint solvers for the automated testing of imperative programs.
The CAVERN project includes four partners involved in the development of constraint-based testing tools:
the CELTIQUE team of IRISA in Rennes (CELTIQUE) - coordinator
the "Constraints and Proofs" team from CNRS I3S laboratory in Sophia-Antipolis(CeP)
the CEA-LIST laboratory in Saclay (CEA)
the ILOG Company in Gentilly (ILOG)
In addition, the project will include a foreign associate partner: Andy King from the University of Kent.
Concretely, the CAVERN project partners will study the integration of selected abstractions in their own constraint libraries, as currently used in their testing tools, in order to improve the treatment of loops, memory accesses (references and dynamic structures) and floating-point computations. Dealing efficiently with these constructs will allow us to scale-up constraint-based testing techniques for imperative programs. This should open the way to more automated testing processes which will facilitate software dependability assessment.