The VALS Team
Verification, Validation of Algorithms, Languages and Systems
Resp.: Burkhart Wolff Co-resp.: Claude Marché November 27-28, 2013
27-28 Nov 2013 Comité d’Evaluation du LRI 1 / 68
The VALS Team Verification, Validation of Algorithms, Languages and - - PowerPoint PPT Presentation
The VALS Team Verification, Validation of Algorithms, Languages and Systems Resp.: Burkhart Wolff Co-resp.: Claude March November 27-28, 2013 27-28 Nov 2013 Comit dEvaluation du LRI 1 / 68 VALS: The Group for Formal Methods VALS New
Verification, Validation of Algorithms, Languages and Systems
27-28 Nov 2013 Comité d’Evaluation du LRI 1 / 68
◮ Toccata: formal specification and computer-assisted proof in
◮ ForTesSE: formal testing, in particular model-based testing
27-28 Nov 2013 Comité d’Evaluation du LRI 2 / 68
27-28 Nov 2013 Comité d’Evaluation du LRI 3 / 68
27-28 Nov 2013 Comité d’Evaluation du LRI 4 / 68
◮ Mathematical specifications ◮ Deductive program
◮ Formal Semantics
◮ Development of several tools ◮ significant number of users
27-28 Nov 2013 Comité d’Evaluation du LRI 5 / 68
◮ Common team with Inria Saclay ◮ until 2011: team ProVal, leader: C. Paulin ◮ since 2012: team Toccata, leader: C. Marché
◮ March 2010: M. Pouzet, mutation to Paris 6 & ENS
◮ Theme Synchronous Programming disappears
◮ Sep 2010: V. Benzaken, moved from the BD team
◮ New theme Data-Centric Languages
◮ 2 CR Inria and 2 MCF recruited in the period ◮ 13 PhD thesis, 3 HDR defended
27-28 Nov 2013 Comité d’Evaluation du LRI 6 / 68
◮ Why3: generic environment for deductive program verification
◮ A logical framework connected to many theorem provers ◮ A dedicated programming language WhyML ◮ Contract-based formal specifications
◮ Alt-Ergo: a theorem prover based on Satisfiability Modulo
◮ Original combination approach CC(X) ◮ Support for theories needed for verification (quantifiers, type
polymorphism, (non-)linear integral and rational arithmetic)
27-28 Nov 2013 Comité d’Evaluation du LRI 7 / 68
27-28 Nov 2013 Comité d’Evaluation du LRI 8 / 68
CVC3, Simplify, SPASS, Vampire veriT, Yices, Z3, etc.
PVS, etc. Coq
Gappa
27-28 Nov 2013 Comité d’Evaluation du LRI 9 / 68
CVC3, Simplify, SPASS, Vampire veriT, Yices, Z3, etc.
PVS, etc. Coq
Gappa Java programs
27-28 Nov 2013 Comité d’Evaluation du LRI 10 / 68
CVC3, Simplify, SPASS, Vampire veriT, Yices, Z3, etc.
PVS, etc. Coq
Gappa Java programs
C programs
27-28 Nov 2013 Comité d’Evaluation du LRI 11 / 68
CVC3, Simplify, SPASS, Vampire veriT, Yices, Z3, etc.
PVS, etc. Coq
Gappa Java programs
C programs
Ada programs
27-28 Nov 2013 Comité d’Evaluation du LRI 12 / 68
CVC3, Simplify, SPASS, Vampire veriT, Yices, Z3, etc.
PVS, etc. Coq
Gappa Java programs
C programs
Ada programs
EasyCrypt CAOVerif
27-28 Nov 2013 Comité d’Evaluation du LRI 13 / 68
#define E 0x1p-45 /*@ requires @ sx == \exact(sx) && sy == \exact(sy) && @ vx == \exact(vx) && vy == \exact(vy) && @ \abs(sx) <= 100.0 && \abs(sy) <= 100.0 && @ \abs(vx) <= 1.0 && \abs(vy) <= 1.0; @ ensures @ \result != 0 ==> @ \result == l_sign(\exact(sx)*\exact(vx)+\exact(sy)*\exact(vy)) @ * l_sign(\exact(sx)*\exact(vy)-\exact(sy)*\exact(vx)); @*/ int eps_line(double sx, double sy,double vx, double vy){ int s1,s2; s1=sign(sx*vx+sy*vy, E); s2=sign(sx*vy-sy*vx, E); return s1*s2; }
27-28 Nov 2013 Comité d’Evaluation du LRI 14 / 68
27-28 Nov 2013 Comité d’Evaluation du LRI 15 / 68
◮ Major results:
◮ The design of the programming language
[ESOP 2013]
◮ The multi-prover architecture
[CADE 2013]
◮ Used by other academic tools
◮ Cryptography (EasyCrypt, IMDEA, Spain)
◮ Use in industrial-scale verification environments:
◮ Frama-C: CEA-List (Airbus France, NASA, etc.) ◮ Spark2014: AdaCore (Astrium, etc.)
◮ Use in teaching ◮ http://why3.lri.fr, Why3 Club (mailing list)
27-28 Nov 2013 Comité d’Evaluation du LRI 16 / 68
27-28 Nov 2013 Comité d’Evaluation du LRI 17 / 68
C programs
Ada programs
27-28 Nov 2013 Comité d’Evaluation du LRI 18 / 68
C programs
Ada programs
27-28 Nov 2013 Comité d’Evaluation du LRI 19 / 68
C programs
Ada programs
27-28 Nov 2013 Comité d’Evaluation du LRI 20 / 68
C programs
Ada programs
27-28 Nov 2013 Comité d’Evaluation du LRI 21 / 68
C programs
Ada programs
27-28 Nov 2013 Comité d’Evaluation du LRI 22 / 68
◮ Major results:
◮ theory of associativity-commutativity
[TACAS 2011] (best EATCS paper award)
◮ Original approach for arithmetic
[IJCAR 2012]
◮ Application to model-checking (Cubicle)
[CAV 2012]
◮ Use in industrial-scale verification environments:
◮ via Why3 in Frama-C and Spark2014 ◮ via CAVEAT qualified by Airbus France for A350 development ◮ shipped with Spark2005 since 2011
◮ Since 2013: Maintenance by OcamlPro start-up ◮ http://alt-ergo.lri.fr
27-28 Nov 2013 Comité d’Evaluation du LRI 23 / 68
◮ Formal models in Coq (Flocq library)
◮ Semantics of floating-point computation in Why3
◮ Specialized prover Gappa ◮ Significant case studies
◮ Certified resolution of a differential equation
[ICALP 2009, JAR 2013]
27-28 Nov 2013 Comité d’Evaluation du LRI 24 / 68
◮ Verified provers: 1 PhD thesis,
◮ Verified VC generators: 1 PhD thesis,
◮ Other on-going projects
◮ Semantics of NoSQL languages
◮ Typed XML transformations
◮ On-going formal models in Coq ◮ On-going verified code using Why3 ◮ Programming Language CDuce, www.cduce.org
27-28 Nov 2013 Comité d’Evaluation du LRI 25 / 68
◮ only us and them master all the verification chain
◮ Multi-prover approach
◮ Combination of Automatic and Interactive Theorem Proving
◮ Support for Numerical Programs ◮ Open source distribution
◮ easier to reach industrial users 27-28 Nov 2013 Comité d’Evaluation du LRI 26 / 68
◮ International major journal articles:
◮ Other journal articles:
◮ International major conf. articles:
◮ Other conf. articles:
◮ Books and book chapters:
27-28 Nov 2013 Comité d’Evaluation du LRI 27 / 68
◮ C. Paulin, docteur honoris causa University Göteborg, Sweden,
◮ J.-C. Filliâtre, member of IFIP Working Group 1.9/2.15
◮ International Conference “Formal Verification of
◮ Verification Competition joint with VSTTE 2012
◮ Digiteo research cluster ◮ Labex DigiCosme (C. Paulin, head of the Labex) ◮ Idex Univ. Paris Saclay, including future master program
27-28 Nov 2013 Comité d’Evaluation du LRI 28 / 68
◮ Industrial Contract, Airbus France: qualification of Alt-Ergo ◮ FUI Hi-Lite project, leading to future Spark2014 ◮ Several CIFRE theses
Dassault Aviation, Gemalto, France Telecom, AdaCore
◮ Tools Why, Frama-C, Alt-Ergo, CiME, Cubicle, Gappa, Reactive ML,
Lucid synchrone, CDuce, bibtex2html, Ocamlgraph, Mlpost
◮ Coq libraries: Coccinelle, ALEA, Flocq, Coq.Interval, Coquelicot ◮ http://toccata.lri.fr/tools.en.html ◮ All under open source licence ◮ Many of them included in major Linux distributions ◮ 3 deposits at Agence de Protection des Programmes
27-28 Nov 2013 Comité d’Evaluation du LRI 29 / 68
◮ Castor Informatique contest (lycées et collèges, A.
◮ Several popularization articles and actions (S. Boldo)
◮ “Interstices” site 27-28 Nov 2013 Comité d’Evaluation du LRI 30 / 68
◮ Lectures at ENS Paris and Ecole Polytechnique ◮ Organization of DigiCosme Spring School 2013, “Program
◮ Lectures at Master Parisien de Recherche en Informatique ◮ Lectures at several schools for young researchers
(EJCP 2012 and 2013, Laser 2011, FoVeOOS Winter School 2011, EJCIM 2012, APSSFM 2009 and 2013)
27-28 Nov 2013 Comité d’Evaluation du LRI 31 / 68
27-28 Nov 2013 Comité d’Evaluation du LRI 32 / 68
◮ formal specs,
◮ generated tests and
◮ ... for program and
◮ several tools ◮ used in SE projects
27-28 Nov 2013 Comité d’Evaluation du LRI 33 / 68
◮ June 2013: 5 university faculty members
◮ New: Dr. Delphine Longuet (MC 2009) ◮ Leave: Sandrine Gouraud (already in August 2008)
◮ Temporary Members: J. Oudinet, L. Bentakouk, M. Krieger
◮ 4 Phds, 2 HDR defended
27-28 Nov 2013 Comité d’Evaluation du LRI 34 / 68
27-28 Nov 2013 Comité d’Evaluation du LRI 35 / 68
27-28 Nov 2013 Comité d’Evaluation du LRI 36 / 68
27-28 Nov 2013 Comité d’Evaluation du LRI 37 / 68
Firewall Specs
27-28 Nov 2013 Comité d’Evaluation du LRI 38 / 68
Circus Specs
27-28 Nov 2013 Comité d’Evaluation du LRI 39 / 68
UML/OCL Specs
27-28 Nov 2013 Comité d’Evaluation du LRI 40 / 68
Firewall Specs
Circus Specs
UML/OCL Specs
27-28 Nov 2013 Comité d’Evaluation du LRI 41 / 68
◮ powerful specs in HOL ◮ test-specifications ◮ Formal Test-Theorem
◮ Testselection configurable ◮ Tester-Generation
◮ highly generic but
◮ proven correct ◮ used in major SE projects
27-28 Nov 2013 Comité d’Evaluation du LRI 42 / 68
◮ Framework for
◮ test-specifications:
◮ Normalization
◮ Specific Test-driver
◮ used for BT
27-28 Nov 2013 Comité d’Evaluation du LRI 43 / 68
27-28 Nov 2013 Comité d’Evaluation du LRI 44 / 68
◮ Major publications: [FAOC 2013],[JAR10] ◮ Basis for specialized "plugins" for Testing:
◮ Security: HOL-TestGen-fw [SACMAT 11,ICST 10, ICTAC 13] ◮ Behavior: Cirta [VSTTE 12,ICFEM 13, ICST 12] ◮ Embedded: a) Hardware [TAP 13] ◮ Embedded: b) SysML [OCL 12, OCL 13]
◮ Used in industrial & academic projects:
◮ MBT-SEC: BT, ETH Zürich (1Phd) ◮ Collaboration with York [ACTA 11] ◮ IRT System X, Project FSF (1Phd) ◮ Prover parallelization: ANR Paral-ITP [MKM 13, ITP 13]
◮ Used in teaching ◮ Distrib: http://www.brucker.ch/projects/hol-testgen/,
27-28 Nov 2013 Comité d’Evaluation du LRI 45 / 68
◮ Integrated Approach: IDE for formal testplans
◮ Prover IDE ◮ Control/Hinting over Solving via ITP (flex. for large models) ◮ Generic Framework
(flex. for different specs)
◮ Support for various codegenerators ◮ Open source distribution
27-28 Nov 2013 Comité d’Evaluation du LRI 46 / 68
27-28 Nov 2013 Comité d’Evaluation du LRI 47 / 68
LTL
27-28 Nov 2013 Comité d’Evaluation du LRI 48 / 68
C programs
27-28 Nov 2013 Comité d’Evaluation du LRI 49 / 68
LTL
C programs
27-28 Nov 2013 Comité d’Evaluation du LRI 50 / 68
◮ Major result:
◮ Major Publications: [TCS 13, FASE 11] ◮ Collaborations with LRI groups BioInfo, Algo
◮ 1 Phd ◮ Distribution RUKIA:
27-28 Nov 2013 Comité d’Evaluation du LRI 51 / 68
◮ Service Composition and Testing
◮ Major result: An end-to-end Web services testing framework ◮ Major publications: [ICWS 10, TAP09, ECOWS 08] ◮ SWST tool (swst.lri.fr, [Testcom/fates 09]) ◮ 1 Project (ANR WebMOV), 2 Phd ◮ Context-Aware Personal Information Integration ◮ collaboration with the IASI team ◮ ANR PIMI, 1 Phd
◮ Model-checking & Testing of Distributed Systems
◮ Major result : Online testing of services choreographies ◮ Major publications [ISSRE 13, ICSOC 12, HASE 12,SAC 12] ◮ 2 Phd, SBBC tool : Description: [ICSOC12]
◮ Testing & Model-Checking of Protocols
◮ Major results : Supple protocol and the parameterized model
checker Cubicle (cubicle.lri.fr)
◮ Major publications [CAV 12, ACM CSUR 11, MSWIM 10] ◮ Collaboration with the Toccata team on Cubicle ◮ 1 PhD 27-28 Nov 2013 Comité d’Evaluation du LRI 52 / 68
◮ International major journal articles:
◮ Other journal articles:
◮ International major conf. articles:
◮ Other conf. articles:
◮ Books and book chapters:
◮ Revues: 1.3
◮ Major conf: 2.3
27-28 Nov 2013 Comité d’Evaluation du LRI 53 / 68
◮ ICTAC 2010, ICST 2010, TAP 2011, ICTSS 2011, MKM 2012,
UTP 2012, Dagstuhl Seminar www.dagstuhl.de/13021.
◮ Ana Cavalcanti (York), Jim Woodcock (York), Petra Malik
(Wellington), Manuel Nunez(Madrid), Eliane Martins (Campinas, BR.)
27-28 Nov 2013 Comité d’Evaluation du LRI 54 / 68
◮ 6 funded projects, collaborations, chaires etc.
Collaboration IRT System X, Project FSF, EU Euromills, International Joint Project MoBasT, BT Project MBT-SEC(finished), Chaire PSud Project HOL-TestGen-XT(finished), CIFRE All4Tech(finished)
◮ 6 funded ANR Projects
ANR Paral-ITP,ANR PIMI, ANR RobustWeb (finished), ANR WebMov (finished),ANR Verap (finished),ANR JCJC PERSO (2007-2010) (finished)
◮ Volume (for partners in LRI): 1m EURO
27-28 Nov 2013 Comité d’Evaluation du LRI 55 / 68
◮ Strong implication in Digiteo (M.-C. Gaudel) ◮ Strong implication in Univ. Paris-Sud
◮ Summer schools:
◮ Implication in Fêtes des Sciences, etc. ◮ Tutorials on Isabelle
◮ Tutorials on HOL/TestGen (NII Tokyu, Euro-Mils Paris)
27-28 Nov 2013 Comité d’Evaluation du LRI 56 / 68
27-28 Nov 2013 Comité d’Evaluation du LRI 57 / 68
◮ as formal methods (FM), they have both their roots in logic
◮ shared interest in formal semantics for programming and
◮ shared interest in constraint-solving technologies and theorem
27-28 Nov 2013 Comité d’Evaluation du LRI 58 / 68
◮ making verification easier to use and more wide-spread, ◮ advancing the prover technology: e.g. by non-linear arithmetic
◮ combining test and proof, e.g. by invariant-generation, verified
◮ gaining experience in non-standard application domains, for
◮ combining proofs and probability.
27-28 Nov 2013 Comité d’Evaluation du LRI 59 / 68
27-28 Nov 2013 Comité d’Evaluation du LRI 60 / 68
27-28 Nov 2013 Comité d’Evaluation du LRI 61 / 68
◮ precious source of concrete challenges ◮ real case studies ◮ key for transfer of methods and tools into industry ◮ funding
◮ knowhow transfer for scientific challenges ◮ tool dissemination (alt-ergo, why3, Isabelle) 27-28 Nov 2013 Comité d’Evaluation du LRI 62 / 68
◮ Plateau de Saclay strengthens our position:
◮ Formal software engineering methods:
◮ Sustained implication in
◮ Strengthen our role in the future master programme MIFOSA ◮ Strengthen contacts to our scientific competitors:
◮ Engagement in the national context:
27-28 Nov 2013 Comité d’Evaluation du LRI 63 / 68
27-28 Nov 2013 Comité d’Evaluation du LRI 64 / 68
◮ With our network of academic and industrial partners,
27-28 Nov 2013 Comité d’Evaluation du LRI 65 / 68
◮ With our network of academic and industrial partners, ◮ ... well embedded in the context of the future Paris-Saclay
27-28 Nov 2013 Comité d’Evaluation du LRI 66 / 68
◮ With our network of academic and industrial partners, ◮ ... well embedded in the context of the future Paris-Saclay ◮ ... with our publications and widely recognized tools ...
27-28 Nov 2013 Comité d’Evaluation du LRI 67 / 68
◮ With our network of academic and industrial partners, ◮ ... well embedded in the context of the future Paris-Saclay ◮ ... with our publications and widely recognized tools ...
27-28 Nov 2013 Comité d’Evaluation du LRI 68 / 68