130 likes | 137 Views
25 years retrospective of Formal Methods at INRIA: Overview, success stories, Lessons learned. 90th anniversary lecture, HKU, May 31th 2001 Gérard Huet. Prehistory : the 70's. Program schemas Denotational Semantics (CPO, Domains, stability, sequentiality)
E N D
25 years retrospective of Formal Methods at INRIA: Overview, success stories, Lessons learned 90th anniversary lecture, HKU, May 31th 2001 Gérard Huet
Prehistory : the 70's • Program schemas • Denotational Semantics (CPO, Domains, stability, sequentiality) • l-calculus (Derivation space, optimality) • Higher-order unification and pattern-matching, constraints • Mentor (Abstract syntax editor) • Equational logic & Term rewriting (Knuth-Bendix, canonical sets)
ML • Le_Lisp • LCF • ML (polymorphic types with principal typing) • Standard ML (Edinburgh, NJ) • Categorical combinators, CAM • CAML (Rocquencourt) • Caml Light - Modules • Objective Caml (optimised native code, C marshalling, fast GC)
Logical Frameworks - Tradition • 1st-order logic • Unification, resolution • Equality, rewriting • Logic Programming • Induction • Church's simple theory of types • PPL
Logical Frameworks - Renewal • Martin-Löf's constructive theory of types • Girard's polymorphic l-calculus • Curry-Howard correspondance • de Bruijn’s Automath • Coquand's Calculus of Constructions, Huet’s Constructive Engine • Barendregt's PTS • Paulin's Calculus of Inductive Constructions • Realisability and Program extraction • ESPRIT projects LF, TYPES
Proof assistants • Boyer and Moore Computational Logic, ACL2 • LCF (Stanford, Edinburgh, Cambridge) • HOL, Isabelle • Automath • Mizar • Coq • LEGO, ALF • PVS
Coq • Calculus of Inductive Constructions • Prop, Set, Type • The Constructive Engine • Proof search with tactics • Program Extraction, Program driven proofs • Prooflets (self certifiable mobile code) • Co-induction, co-recursion (streams, protocols, etc) • Reflexion for decision procedures • Proof trees and natural language justifications (auditable) • Bootstrapped certified kernel
Mentor’s descendants • Centaur • Typol • Natural Semantics • Semantic Driven Programming Environments • Proof by pointing, CTCoq • Natural language proofs • The Grif story: XML editing Amaya • Word
Models of concurrency • Hoare's CSP • Kahn networks • Milner's CCS • p-calculus • linear logic J.Y. Girard • join calculus • Project PARA J. J. Lévy • G. Gonthier, C. Fournet, L. Maranget • Jo Caml • ?
Abstract interpretation tools • Domain approximation • Fixpoint computation • Patrick Cousot • Static analysis • Alain Deutsch's C analyser • Ariane 501 • Ariane 502 • PolySpace Technologies
Reactive Programming • Lustre (Verimag, Grenoble) • Industrial version (SAO+, Verilog, Airbus, Schneider, Merlin-Gérin) • Signal (Signal processing, Renault) • Estérel (Rafale/Dassault) • Estérel technologies (Hardware design, synthesis & verification) : • Validation of DSP chips (Texas Instruments) • Architectural performance studies (Motorola) • Modelling GALS systems (globally asynchronous, locally synchronous)
Security Protocols& Smartcard certification • Dyade Joint Venture Bull-INRIA • D. Bolignano, G. Huet, D. Le Métayer • Authentication protocols, security • CSET certification (banking applications, Cons. Carte Bancaire) • Java VM & verifiers embarked on smartcards (Ocaml) • Electronic commerce, Administration and Services Mgt • Trusted Logic Inc : • 1st on-card Java Card bytecode verifier (licensed to Schlumberger) • Reference Implementation of Java Card 2.1 of SUN Microsystems Inc • Common Criteria Certification of Visa Open Platform (e-purse, loyalty)
Lessons learned • It takes a long time to transfer research into industrial technology • Basic research is necessary • But its applications are often unpredictable • Researchers ought to have a secure long-term professional prospect • You cannot always win • You must be persistent in a consistent research vision • Do not get trapped in obsolete technology • When the time is ripe go to business • Formal methods and tools have commercial value in services • International cooperation is crucial to success