130 likes | 143 Views
Explore the journey of Formal Methods at INRIA over 25 years, from success stories to valuable lessons learned, presented by Gérard Huet on the 90th anniversary of INRIA. Discover key milestones like program schemas, denotational semantics, equational logic, ML languages, logical frameworks, proof assistants, proof by pointing, reactive programming, security protocols, and more. Gain insights on the significance of basic research, adapting to industrial needs, persistence, innovation, and international collaboration in advancing formal methods from theory to practical applications.
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