SlideShare a Scribd company logo
1 of 48
Ten Commandments of
 Formal Methods: A decade later
Jonathan P. Bowen Michael G. Hinchey
Museophile Limited, UK          Loyola College in Maryland
                                      Baltimore, USA
     www.jpbowen.com
  (Also visiting academic,             (Also NASA)
 University College London)

         See IEEE Computer, 39(1):40–48, January 2006.
      Based on Dagstuhl workshop, Germany, 8–12 May 2006.
Dagstuhl Seminar 06191
Rigorous Methods for Software Construction
       and Analysis, 8–12 May 2006
Choosing a formal method – difficult

                        ASM
               GC6
        B

                  Z




            VSR-net
Background – formal methods
  Academics vs. industrial practitioners
  Theory vs. practice
  Still little used in general practice
  Size of community critical

       It is clear to the best minds in the field
       that a more mathematical approach is
       needed for software to advance much.
                               ― Bertrand Meyer
The Flat Earth
   Society
Cf. formal methods
community…
— Gerard J. Holzmann




     FMICS 2005 (Lisbon)
     conference queue! ►
Ten Commandments
  … ten years later
J.P. Bowen & M.G. Hinchey,
IEEE Computer,
April 1995 & January 2006

He proclaimed to you his
covenant, which he
commanded you to keep:
the Ten Commandments,
which he wrote on two
tablets of stone.
                                      “Can’t I just read your URL?”
 ― Deuteronomy 4:13, 10:4, Ex.34:28
                                      vl.fmnet.info/moses-url
Thou shalt choose an
   appropriate notation.
Notations are a frequent complaint…
but the real problem is to understand
the meaning and properties of the
symbols …
… you will cultivate an appreciation
of mathematical elegance and style.
By that time, the symbols will be
invisible ...
The great advantage of mathematics
is that the rules are simpler than
those of natural language
                        ― C.A.R. Hoare
Which notation?

Various notations:
   ASM (testing?)
   B (development?)
   Z (specification?)
   Etc. – 95 under
   vl.fmnet.info
Beware
Panaceas!



 Cf. Formal
  methods
Caviat
Emptor!
Cf. Software
Name       Combines        Advantage          Ref.
Combined            Temporal   B, temporal    Adds time to the Bonnet et
                       B           logic        B-Method       al. (1995)
formal
methods              ZCCS        Z, CCS       Combines CCS       Galloway
                                              process algebra       and
add to the                                    and state based    Stoddard
confusion!                                      aspects of Z      (1997)


                    CSP OZ       Z, CSP       Combines Z and     Fischer
                                                  CSP            (2000)
If I could say it                                                  [13]
in words there      Object Z      Z, OO        Adds OO to Z       Smith
would be no                    principles,                        (2000)
                                temporal
reason to paint.                   logic

― Edward Hopper                Object-Z, π-   Adds π-calculus
                     PiOZ                                        Taguchi
                                calculus       style dynamic       et al.
    (1882–1967)                                    comm.          (2004)
                                               capabilities to
                                                  Object-Z
Thou shalt formalize
        but not overformalize.

    Need for formality
    Formality vs. informality
    Levels of use

Strange as it seems, no amount of
learning can cure stupidity, and
formal education positively fortifies it.
                    ― Stephen Vizinczey
Level     Name             Involves

Levels          0       Formal        Formal notation
                      Specification used for specifying
of use                              requirements only;
                                     no analysis/proof


               1         Formal     Proving properties
                      Development /   and applying
                       Verification    refinement
                                         calculus
Cost vs.
               2         Machine       Use of theorem
correctness             Checked        prover/checker
(quality)             Proofs / Model    tool to prove
                        checking        consistency/
                                          integrity.
Thou shalt estimate costs.
   Estimation models (CoCoMo II, …)
   Total cost of ownership (TCO)
   Quality of people varies (c10:1?)
   Cost (salary) varies (c2:1?)
   Still an inexact “science”
I think that God in creating Man somewhat
overestimated his ability.
               ― Oscar Wilde (1854–1900)
200
                                                                           Requirements
                                                GRO78
      Target Cost Overrun, Percent                                         phase costs
                                                 OMV
                                                         TDRSS             compared with
                                     160          IRAS
                                                                           project overrun
                                               Gali
                                                             HST
                                                                           costs
                                           GOES I-M TETH
                                     120                                      (source:   NASA)
                                                   LAND76
                                           CEN
                                                         EDO (recent start)
                                                   MARS
                                            ACTS
                                                        ERB77
                                                                         COBE
                                     80                         STS
                                           CHA.REC                  LAND78
                                                                            GRO82
                                                                          ERB80
                                                   SEASAT
                                      40                       UARS       VOYAGER                HEAO
                                                                     EUVE/EP
                                                       DE           Ulysses               ISEE
                                                            SMM PIONVEN IUE
                                       0
Ref: NASA/W. Gruhl 0                                  5            10        15           20
                                              Requirements Cost/Program Cost, percent
Cost of proofs
Mathematics – simple theorems,
deep proofs (decades or centuries)
Cf. software – complicated specs
& programs, shallow proofs
(B, 90–95% automated, 5–10%
manual, weeks or months).


               Fermat’s Last Theorem (in Toulouse)
                        an + bn ≠ cn (n>2)
                 — Pierre de Fermat (1601–1635)
Hand vs.
                                   machine
                                   checked
                                    proofs




Blackboard at Dagstuhl workshop!
Thou shalt have a formal
       methods guru on call.
 Communication/understanding important
 Project management
 Technology transfer
 Support organizations (FME, ForTIA, …)

An expert is a person who has made all
the mistakes that can be made in a very
narrow field.
                ― Niels Bohr (1885–1962)
Technology transfer
E.g.: Z notation
Courses (academia & industry)
Textbooks (good choice)
Tools (type-checkers, provers, …)
Web resources – vl.fmnet.info
Discussion – comp.specification.*
User Group (meetings)
Standards (see later)
Formal Methods Europe
FME: started with European funding
Industry, academia and government
Now more international in scope
FM’06: 14th Symposium
Hamilton, Canada, 21–27 Aug 2006

www.fmeurope.org
FME Wiki:
www.fmeurope.org/twiki/bin/view
ForTIA
Formal Techniques Industry Association
Founded through European CoLogNET
Computational Logic Network and FME
at FM2003 symposium, Pisa
Subgroup of FME
Technology transfer to industry
See: www.fortia.org
Thou shalt not abandon
        thy traditional
        development methods.
      UML
      Object-orientation
      Model-Based Development (MBD)

A great many of those who ‘debunk’
traditional... values have in the background
values of their own which they believe to be
immune from the debunking process.
 ― C. S. Lewis (1898–1963) The Abolition of Man
UML & OO methods
Unified Modeling Language
    pUML (precise UML)
    Combined with B-Method tools
Object-Z
Perfect Developer (Java/C++)
    Escher Technologies
    Applied to self, proving c95% of
    approx. 130,000 verification conds
    Cf. Atelier-B tool?
Thou shalt document
     sufficiently.

Case studies – success & failure
Process important
Textbooks (c10 Z vs. c1000 Java!)

I have always tried to hide my own efforts and
wished my works to have the lightness and
joyousness of a springtime which never lets
anyone suspect the labours it cost.
                    ― Henri Matisse (1869–1954)
Google Book Search   books.google.com
Textbooks
for courses
 Resistance by
 students
 Resistance even
 by academics
 Professional
 society
 accreditation
 (e.g., BCS)
Software Specification Methods
                       Henri Habrias &
                       Marc Frappier (eds.)
                       Springer-Verlag, 2001
                       and ISTE, 2006

                       Z, SAZ, B, OMT, Action
                       Systems, UML, VHDL,
                       Estelle, SDL, E-LOTOS,
                       JSD, CASL, Coq, Petri
                       Nets, TLA.
Process of producing
a formal spec…
Wikipedia
                         Z notation category.
                         Add ASM, B-Method,
                         … categories?

en.wikipedia.org/wiki/Formal_methods See also:
en.wikipedia.org/wiki/Category:Formal_methods
Thou shalt not compromise
          thy quality standards.
$360B loses due to poor software quality (2002)
ISO 9000 revised (2000)
IEC 61508-3 functional safety standard (1998)
00-55 UK MoD standard updated (1997)
00-56 Issue 3 for hardware-software (2005)
   FMs mandated for safety-related software

      If people knew how hard I worked to get my
      mastery, it wouldn't seem so wonderful at all.
           ― Michelangelo Buonarroti (1475–1564)
Z Standard
ISO/IEC 13568
Long process (1990s)
Final Committee Draft
– accepted in 2001!
Important for tools and
industrial use
ASM, B, … ?
Thou shalt not
          be dogmatic.
Listen to industry’s problems
Choice may depend on expertise
Good tool support important
Combined theorem proving/model
checking (e.g., Yices from SRI)
 … And I am unanimous in that!
        ― Molly Sugden, a.k.a. Mrs. Slocombe
  Are You Being Served? BBC TV (1972–1993)
Community Z Tools
Open systems model – e.g.,
Community Z Tools (CZT) initiative
Sourceforge project:
czt.sourceforge.net
Open source initiatives
European RODIN project (2004–2007):
   Rigorous Open Development Environment
   for Complex Systems
   rodin.cs.ncl.ac.uk
   Support for B# (“B sharp”, cf. C#)
   rodin-b-sharp.sourceforge.net
   See also B4free: www.b4free.com
HOL 4: hol.sourceforge.net
Jape: sourceforge.net/projects/jape
Thou shalt test,
        test, and test again.
Even short programs complex
Small changes can cause large problems
Easy to change, not easy to be correct
    I believe the hard part of building software to
    be the specification, design and testing of this
    conceptual construct, not the labor of
    representing it and testing the fidelity of the
    representation.
        ― Frederick P. Brooks, Jr., No Silver Bullet
FORTEST Network
 Formal methods and testing


           www.fortest.org.uk
UK academia and industry (3 years funding)
Regular workshops (last 19 Dec 2005, London)
“Landscapes” ACM Surveys paper to appear
Book in preparation for Springer LNCS (2007)
Formalization of testing criteria
  Z notation – readable
      Existing criteria (e.g., MC/DC)
      Modified Condition/Decision Coverage
  New criteria (e.g., RC/DC)
      Reinforced Condition/Decision Coverage
      (false actuation type errors detected)
  Reduces ambiguity, increases understanding
  See: Formal Aspects of Computing, 18(1):42–62,
  March 2006 & STVR, 15(1):21–40, March 2005
  [Work with Sergiy Vilkomir & Kalpesh Kapoor]
  See: www.cafm.lsbu.ac.uk/fortest
Formalization of testing criteria

 Using the Z notation. E.g.:
Thou shalt reuse.

  Possible if “formal”
  Cheaper at higher levels of abstraction
  Levels of complexity

The biggest difference between time
and space is that you can't reuse time.
                       ― Merrick Furst
Levels of complexity
25 lines of informal requirements
250 lines of (formal) specification
2,500 lines of design description
25,000 lines of high-level program code
250,000 machine instructions of object code
2,500,000 CMOS transistors in hardware!
Reflection
Oui, l'œuvre sort plus belle
D'une forme au travail
Rebelle,
Vers, marbre, onyx, émail.
[Yes, the work comes out more beautiful from
 a material that resists the process, verse,
 marble, onyx, or enamel.]
       — Théophile Gautier (1811–1872) L'Art
Grand Challenge 6
1 of 7: Dependable Systems Evolution

Sir Tony Hoare et al.

Verifying Compiler (this century!)

Workshops: e.g., Zurich, Dagstuhl

Further information: www.fmnet.info/gc6
Verified Software Repository
 Cf. QED Pro Quo repository – www.qpq.org
 Case study software, tools, challenges
     Mondex Electronic Purse (security)
 Dagstuhl Seminar (10–14 June 2006)
 UK EPSRC VSR-net network (2005–2008)
     EPSRC project proposal
     Last meeting (York, UK, 5–6 October 2006)
 Further information: www.fmnet.info/vsr-net
Conclusion
   Continued niche market for critical systems
      Especially safety and security
      Hardware as well as software (model checking)
   Tools very important (open source?)
      Breakthrough with theorem proving/model checking?
   Breaking the “5,000” glass ceiling?
… in this area my academic colleagues are
doing exactly what they should do: developing
and propagating an indispensable technology
so that it will be available when “the world out
there” undeniably needs it.
                 ― Edsger W. Dijkstra (1930–2002)
Applied Formal Methods

"You know my methods.
     Apply them."
             — Sir Arthur Conan Doyle
               The Sign of Four (1890)

URL: vl.fmnet.info
                         Virtual Library
SEFM 2007 conference
IEEE conference on Software
Engineering and Formal Methods
Keyworth Centre, London South Bank
University, UK, 10-14 September 2007
URL: www.iist.unu.edu/SEFM07
Submission deadline: 31 March 2007
ABZ08: ASM, B, Z meeting
 ASM, B, Z user groups & VSR-net
 2008 Jean-Raymond Abrial’s 70th birthday
 (inventor of Z and B)
 BCS London offices, 15-18 September 2008
 c/o BCS Formal Aspects of Computing
 Science (FACS) Specialist Group
 Free venue for BCS SGs (120 people max)
 1 day joint, 2 days in parallel, 1 day VSR-net
 workshop (space dividable)
ASM, B, Z meeting – people
ASM – Egon Börger (Pisa)

B – Michael Butler (Southampton)

Z – Jonathan Bowen (London)

VSR-net – Jim Woodcock (York)

Local organization – Paul Boca (London)

Industrial case study – Ian Oliver (Nokia, Helsinki)
www.fmnet.info


The End                Keyworth Centre ▲
                    Hubble in clean room ▼




sel.gsfc.nasa.gov

More Related Content

What's hot

Habash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingHabash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingMustafa Jarrar
 
Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6koolkampus
 
Uml structural diagrams
Uml structural diagramsUml structural diagrams
Uml structural diagramsSwathy T
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and conceptsSlideshare
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement EngineeringSlideshare
 
Relational Database Design
Relational Database DesignRelational Database Design
Relational Database DesignArchit Saxena
 
Database replication
Database replicationDatabase replication
Database replicationArslan111
 
12. oracle database architecture
12. oracle database architecture12. oracle database architecture
12. oracle database architectureAmrit Kaur
 
Software Architecture: Architecture Description Languages
Software Architecture: Architecture Description LanguagesSoftware Architecture: Architecture Description Languages
Software Architecture: Architecture Description LanguagesHenry Muccini
 
Software architecture with SOA modeling Flavor
Software architecture with SOA modeling FlavorSoftware architecture with SOA modeling Flavor
Software architecture with SOA modeling FlavorMohamed Zakarya Abdelgawad
 
Query optimization
Query optimizationQuery optimization
Query optimizationNeha Behl
 
The relational data model part[1]
The relational data model part[1]The relational data model part[1]
The relational data model part[1]Bashir Rezaie
 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)ShudipPal
 
Elevating Application Performance with the latest IBM COBOL offerings
Elevating Application Performance with the latest IBM COBOL offeringsElevating Application Performance with the latest IBM COBOL offerings
Elevating Application Performance with the latest IBM COBOL offeringsDevOps for Enterprise Systems
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Chandan Thakur
 

What's hot (20)

Habash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingHabash: Arabic Natural Language Processing
Habash: Arabic Natural Language Processing
 
Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6Requirements Engineering Processes in Software Engineering SE6
Requirements Engineering Processes in Software Engineering SE6
 
Hadoop YARN
Hadoop YARNHadoop YARN
Hadoop YARN
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
Uml structural diagrams
Uml structural diagramsUml structural diagrams
Uml structural diagrams
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Relational Database Design
Relational Database DesignRelational Database Design
Relational Database Design
 
Database replication
Database replicationDatabase replication
Database replication
 
Dbms slides
Dbms slidesDbms slides
Dbms slides
 
12. oracle database architecture
12. oracle database architecture12. oracle database architecture
12. oracle database architecture
 
Software Architecture: Architecture Description Languages
Software Architecture: Architecture Description LanguagesSoftware Architecture: Architecture Description Languages
Software Architecture: Architecture Description Languages
 
Software architecture with SOA modeling Flavor
Software architecture with SOA modeling FlavorSoftware architecture with SOA modeling Flavor
Software architecture with SOA modeling Flavor
 
Query optimization
Query optimizationQuery optimization
Query optimization
 
Data Models
Data ModelsData Models
Data Models
 
The relational data model part[1]
The relational data model part[1]The relational data model part[1]
The relational data model part[1]
 
Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)
 
Elevating Application Performance with the latest IBM COBOL offerings
Elevating Application Performance with the latest IBM COBOL offeringsElevating Application Performance with the latest IBM COBOL offerings
Elevating Application Performance with the latest IBM COBOL offerings
 
NLP
NLPNLP
NLP
 
Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)Presentation on component based software engineering(cbse)
Presentation on component based software engineering(cbse)
 

More from Jonathan Bowen

Communities and Ancestors Associated with Egon Börger and ASM
Communities and Ancestors Associated with Egon Börger and ASMCommunities and Ancestors Associated with Egon Börger and ASM
Communities and Ancestors Associated with Egon Börger and ASMJonathan Bowen
 
Alan Turing and Oxford
Alan Turing and OxfordAlan Turing and Oxford
Alan Turing and OxfordJonathan Bowen
 
The Digital Renaissance from da Vinci to Turing
The Digital Renaissance from da Vinci to TuringThe Digital Renaissance from da Vinci to Turing
The Digital Renaissance from da Vinci to TuringJonathan Bowen
 
Alan Turing: Founder of Computer Science
Alan Turing: Founder of Computer ScienceAlan Turing: Founder of Computer Science
Alan Turing: Founder of Computer ScienceJonathan Bowen
 
Online Academic Tools for Engagement
Online Academic Tools for EngagementOnline Academic Tools for Engagement
Online Academic Tools for EngagementJonathan Bowen
 
Visibility and visualisation of scholarly publications online: Erdős and beyond
Visibility and visualisation of scholarly publications online: Erdős and beyondVisibility and visualisation of scholarly publications online: Erdős and beyond
Visibility and visualisation of scholarly publications online: Erdős and beyondJonathan Bowen
 
Patterns in scholarly publications online: Erdős and beyond
Patterns in scholarly publications online: Erdős and beyondPatterns in scholarly publications online: Erdős and beyond
Patterns in scholarly publications online: Erdős and beyondJonathan Bowen
 
The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...
The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...
The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...Jonathan Bowen
 
Online Communities: Visualization and Formalization.
Online Communities: Visualization and Formalization.Online Communities: Visualization and Formalization.
Online Communities: Visualization and Formalization.Jonathan Bowen
 
Computer science education in universities
Computer science education in universitiesComputer science education in universities
Computer science education in universitiesJonathan Bowen
 
Making scholarly publications accessible online
Making scholarly publications accessible onlineMaking scholarly publications accessible online
Making scholarly publications accessible onlineJonathan Bowen
 
Industrial use of formal methods
Industrial use of formal methodsIndustrial use of formal methods
Industrial use of formal methodsJonathan Bowen
 
From a Community of Practice to a Body of Knowledge: A case study of the form...
From a Community of Practice to a Body of Knowledge: A case study of the form...From a Community of Practice to a Body of Knowledge: A case study of the form...
From a Community of Practice to a Body of Knowledge: A case study of the form...Jonathan Bowen
 
Wiki Software and Facilities for Museums
Wiki Software and Facilities for MuseumsWiki Software and Facilities for Museums
Wiki Software and Facilities for MuseumsJonathan Bowen
 

More from Jonathan Bowen (14)

Communities and Ancestors Associated with Egon Börger and ASM
Communities and Ancestors Associated with Egon Börger and ASMCommunities and Ancestors Associated with Egon Börger and ASM
Communities and Ancestors Associated with Egon Börger and ASM
 
Alan Turing and Oxford
Alan Turing and OxfordAlan Turing and Oxford
Alan Turing and Oxford
 
The Digital Renaissance from da Vinci to Turing
The Digital Renaissance from da Vinci to TuringThe Digital Renaissance from da Vinci to Turing
The Digital Renaissance from da Vinci to Turing
 
Alan Turing: Founder of Computer Science
Alan Turing: Founder of Computer ScienceAlan Turing: Founder of Computer Science
Alan Turing: Founder of Computer Science
 
Online Academic Tools for Engagement
Online Academic Tools for EngagementOnline Academic Tools for Engagement
Online Academic Tools for Engagement
 
Visibility and visualisation of scholarly publications online: Erdős and beyond
Visibility and visualisation of scholarly publications online: Erdős and beyondVisibility and visualisation of scholarly publications online: Erdős and beyond
Visibility and visualisation of scholarly publications online: Erdős and beyond
 
Patterns in scholarly publications online: Erdős and beyond
Patterns in scholarly publications online: Erdős and beyondPatterns in scholarly publications online: Erdős and beyond
Patterns in scholarly publications online: Erdős and beyond
 
The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...
The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...
The Brooklyn Visual Heritage Website: Brooklyn’s Museums and Libraries Collab...
 
Online Communities: Visualization and Formalization.
Online Communities: Visualization and Formalization.Online Communities: Visualization and Formalization.
Online Communities: Visualization and Formalization.
 
Computer science education in universities
Computer science education in universitiesComputer science education in universities
Computer science education in universities
 
Making scholarly publications accessible online
Making scholarly publications accessible onlineMaking scholarly publications accessible online
Making scholarly publications accessible online
 
Industrial use of formal methods
Industrial use of formal methodsIndustrial use of formal methods
Industrial use of formal methods
 
From a Community of Practice to a Body of Knowledge: A case study of the form...
From a Community of Practice to a Body of Knowledge: A case study of the form...From a Community of Practice to a Body of Knowledge: A case study of the form...
From a Community of Practice to a Body of Knowledge: A case study of the form...
 
Wiki Software and Facilities for Museums
Wiki Software and Facilities for MuseumsWiki Software and Facilities for Museums
Wiki Software and Facilities for Museums
 

Recently uploaded

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Recently uploaded (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Ten Commandments of Formal Methods: A decade later

  • 1. Ten Commandments of Formal Methods: A decade later Jonathan P. Bowen Michael G. Hinchey Museophile Limited, UK Loyola College in Maryland Baltimore, USA www.jpbowen.com (Also visiting academic, (Also NASA) University College London) See IEEE Computer, 39(1):40–48, January 2006. Based on Dagstuhl workshop, Germany, 8–12 May 2006.
  • 2. Dagstuhl Seminar 06191 Rigorous Methods for Software Construction and Analysis, 8–12 May 2006
  • 3. Choosing a formal method – difficult ASM GC6 B Z VSR-net
  • 4. Background – formal methods Academics vs. industrial practitioners Theory vs. practice Still little used in general practice Size of community critical It is clear to the best minds in the field that a more mathematical approach is needed for software to advance much. ― Bertrand Meyer
  • 5. The Flat Earth Society Cf. formal methods community… — Gerard J. Holzmann FMICS 2005 (Lisbon) conference queue! ►
  • 6. Ten Commandments … ten years later J.P. Bowen & M.G. Hinchey, IEEE Computer, April 1995 & January 2006 He proclaimed to you his covenant, which he commanded you to keep: the Ten Commandments, which he wrote on two tablets of stone. “Can’t I just read your URL?” ― Deuteronomy 4:13, 10:4, Ex.34:28 vl.fmnet.info/moses-url
  • 7. Thou shalt choose an appropriate notation. Notations are a frequent complaint… but the real problem is to understand the meaning and properties of the symbols … … you will cultivate an appreciation of mathematical elegance and style. By that time, the symbols will be invisible ... The great advantage of mathematics is that the rules are simpler than those of natural language ― C.A.R. Hoare
  • 8. Which notation? Various notations: ASM (testing?) B (development?) Z (specification?) Etc. – 95 under vl.fmnet.info
  • 11. Name Combines Advantage Ref. Combined Temporal B, temporal Adds time to the Bonnet et B logic B-Method al. (1995) formal methods ZCCS Z, CCS Combines CCS Galloway process algebra and add to the and state based Stoddard confusion! aspects of Z (1997) CSP OZ Z, CSP Combines Z and Fischer CSP (2000) If I could say it [13] in words there Object Z Z, OO Adds OO to Z Smith would be no principles, (2000) temporal reason to paint. logic ― Edward Hopper Object-Z, π- Adds π-calculus PiOZ Taguchi calculus style dynamic et al. (1882–1967) comm. (2004) capabilities to Object-Z
  • 12. Thou shalt formalize but not overformalize. Need for formality Formality vs. informality Levels of use Strange as it seems, no amount of learning can cure stupidity, and formal education positively fortifies it. ― Stephen Vizinczey
  • 13. Level Name Involves Levels 0 Formal Formal notation Specification used for specifying of use requirements only; no analysis/proof 1 Formal Proving properties Development / and applying Verification refinement calculus Cost vs. 2 Machine Use of theorem correctness Checked prover/checker (quality) Proofs / Model tool to prove checking consistency/ integrity.
  • 14. Thou shalt estimate costs. Estimation models (CoCoMo II, …) Total cost of ownership (TCO) Quality of people varies (c10:1?) Cost (salary) varies (c2:1?) Still an inexact “science” I think that God in creating Man somewhat overestimated his ability. ― Oscar Wilde (1854–1900)
  • 15. 200 Requirements GRO78 Target Cost Overrun, Percent phase costs OMV TDRSS compared with 160 IRAS project overrun Gali HST costs GOES I-M TETH 120 (source: NASA) LAND76 CEN EDO (recent start) MARS ACTS ERB77 COBE 80 STS CHA.REC LAND78 GRO82 ERB80 SEASAT 40 UARS VOYAGER HEAO EUVE/EP DE Ulysses ISEE SMM PIONVEN IUE 0 Ref: NASA/W. Gruhl 0 5 10 15 20 Requirements Cost/Program Cost, percent
  • 16. Cost of proofs Mathematics – simple theorems, deep proofs (decades or centuries) Cf. software – complicated specs & programs, shallow proofs (B, 90–95% automated, 5–10% manual, weeks or months). Fermat’s Last Theorem (in Toulouse) an + bn ≠ cn (n>2) — Pierre de Fermat (1601–1635)
  • 17. Hand vs. machine checked proofs Blackboard at Dagstuhl workshop!
  • 18. Thou shalt have a formal methods guru on call. Communication/understanding important Project management Technology transfer Support organizations (FME, ForTIA, …) An expert is a person who has made all the mistakes that can be made in a very narrow field. ― Niels Bohr (1885–1962)
  • 19. Technology transfer E.g.: Z notation Courses (academia & industry) Textbooks (good choice) Tools (type-checkers, provers, …) Web resources – vl.fmnet.info Discussion – comp.specification.* User Group (meetings) Standards (see later)
  • 20. Formal Methods Europe FME: started with European funding Industry, academia and government Now more international in scope FM’06: 14th Symposium Hamilton, Canada, 21–27 Aug 2006 www.fmeurope.org FME Wiki: www.fmeurope.org/twiki/bin/view
  • 21. ForTIA Formal Techniques Industry Association Founded through European CoLogNET Computational Logic Network and FME at FM2003 symposium, Pisa Subgroup of FME Technology transfer to industry See: www.fortia.org
  • 22. Thou shalt not abandon thy traditional development methods. UML Object-orientation Model-Based Development (MBD) A great many of those who ‘debunk’ traditional... values have in the background values of their own which they believe to be immune from the debunking process. ― C. S. Lewis (1898–1963) The Abolition of Man
  • 23. UML & OO methods Unified Modeling Language pUML (precise UML) Combined with B-Method tools Object-Z Perfect Developer (Java/C++) Escher Technologies Applied to self, proving c95% of approx. 130,000 verification conds Cf. Atelier-B tool?
  • 24. Thou shalt document sufficiently. Case studies – success & failure Process important Textbooks (c10 Z vs. c1000 Java!) I have always tried to hide my own efforts and wished my works to have the lightness and joyousness of a springtime which never lets anyone suspect the labours it cost. ― Henri Matisse (1869–1954)
  • 25. Google Book Search books.google.com
  • 26. Textbooks for courses Resistance by students Resistance even by academics Professional society accreditation (e.g., BCS)
  • 27. Software Specification Methods Henri Habrias & Marc Frappier (eds.) Springer-Verlag, 2001 and ISTE, 2006 Z, SAZ, B, OMT, Action Systems, UML, VHDL, Estelle, SDL, E-LOTOS, JSD, CASL, Coq, Petri Nets, TLA. Process of producing a formal spec…
  • 28. Wikipedia Z notation category. Add ASM, B-Method, … categories? en.wikipedia.org/wiki/Formal_methods See also: en.wikipedia.org/wiki/Category:Formal_methods
  • 29. Thou shalt not compromise thy quality standards. $360B loses due to poor software quality (2002) ISO 9000 revised (2000) IEC 61508-3 functional safety standard (1998) 00-55 UK MoD standard updated (1997) 00-56 Issue 3 for hardware-software (2005) FMs mandated for safety-related software If people knew how hard I worked to get my mastery, it wouldn't seem so wonderful at all. ― Michelangelo Buonarroti (1475–1564)
  • 30. Z Standard ISO/IEC 13568 Long process (1990s) Final Committee Draft – accepted in 2001! Important for tools and industrial use ASM, B, … ?
  • 31. Thou shalt not be dogmatic. Listen to industry’s problems Choice may depend on expertise Good tool support important Combined theorem proving/model checking (e.g., Yices from SRI) … And I am unanimous in that! ― Molly Sugden, a.k.a. Mrs. Slocombe Are You Being Served? BBC TV (1972–1993)
  • 32. Community Z Tools Open systems model – e.g., Community Z Tools (CZT) initiative Sourceforge project: czt.sourceforge.net
  • 33. Open source initiatives European RODIN project (2004–2007): Rigorous Open Development Environment for Complex Systems rodin.cs.ncl.ac.uk Support for B# (“B sharp”, cf. C#) rodin-b-sharp.sourceforge.net See also B4free: www.b4free.com HOL 4: hol.sourceforge.net Jape: sourceforge.net/projects/jape
  • 34. Thou shalt test, test, and test again. Even short programs complex Small changes can cause large problems Easy to change, not easy to be correct I believe the hard part of building software to be the specification, design and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation. ― Frederick P. Brooks, Jr., No Silver Bullet
  • 35. FORTEST Network Formal methods and testing www.fortest.org.uk UK academia and industry (3 years funding) Regular workshops (last 19 Dec 2005, London) “Landscapes” ACM Surveys paper to appear Book in preparation for Springer LNCS (2007)
  • 36. Formalization of testing criteria Z notation – readable Existing criteria (e.g., MC/DC) Modified Condition/Decision Coverage New criteria (e.g., RC/DC) Reinforced Condition/Decision Coverage (false actuation type errors detected) Reduces ambiguity, increases understanding See: Formal Aspects of Computing, 18(1):42–62, March 2006 & STVR, 15(1):21–40, March 2005 [Work with Sergiy Vilkomir & Kalpesh Kapoor] See: www.cafm.lsbu.ac.uk/fortest
  • 37. Formalization of testing criteria Using the Z notation. E.g.:
  • 38. Thou shalt reuse. Possible if “formal” Cheaper at higher levels of abstraction Levels of complexity The biggest difference between time and space is that you can't reuse time. ― Merrick Furst
  • 39. Levels of complexity 25 lines of informal requirements 250 lines of (formal) specification 2,500 lines of design description 25,000 lines of high-level program code 250,000 machine instructions of object code 2,500,000 CMOS transistors in hardware!
  • 40. Reflection Oui, l'œuvre sort plus belle D'une forme au travail Rebelle, Vers, marbre, onyx, émail. [Yes, the work comes out more beautiful from a material that resists the process, verse, marble, onyx, or enamel.] — Théophile Gautier (1811–1872) L'Art
  • 41. Grand Challenge 6 1 of 7: Dependable Systems Evolution Sir Tony Hoare et al. Verifying Compiler (this century!) Workshops: e.g., Zurich, Dagstuhl Further information: www.fmnet.info/gc6
  • 42. Verified Software Repository Cf. QED Pro Quo repository – www.qpq.org Case study software, tools, challenges Mondex Electronic Purse (security) Dagstuhl Seminar (10–14 June 2006) UK EPSRC VSR-net network (2005–2008) EPSRC project proposal Last meeting (York, UK, 5–6 October 2006) Further information: www.fmnet.info/vsr-net
  • 43. Conclusion Continued niche market for critical systems Especially safety and security Hardware as well as software (model checking) Tools very important (open source?) Breakthrough with theorem proving/model checking? Breaking the “5,000” glass ceiling? … in this area my academic colleagues are doing exactly what they should do: developing and propagating an indispensable technology so that it will be available when “the world out there” undeniably needs it. ― Edsger W. Dijkstra (1930–2002)
  • 44. Applied Formal Methods "You know my methods. Apply them." — Sir Arthur Conan Doyle The Sign of Four (1890) URL: vl.fmnet.info Virtual Library
  • 45. SEFM 2007 conference IEEE conference on Software Engineering and Formal Methods Keyworth Centre, London South Bank University, UK, 10-14 September 2007 URL: www.iist.unu.edu/SEFM07 Submission deadline: 31 March 2007
  • 46. ABZ08: ASM, B, Z meeting ASM, B, Z user groups & VSR-net 2008 Jean-Raymond Abrial’s 70th birthday (inventor of Z and B) BCS London offices, 15-18 September 2008 c/o BCS Formal Aspects of Computing Science (FACS) Specialist Group Free venue for BCS SGs (120 people max) 1 day joint, 2 days in parallel, 1 day VSR-net workshop (space dividable)
  • 47. ASM, B, Z meeting – people ASM – Egon Börger (Pisa) B – Michael Butler (Southampton) Z – Jonathan Bowen (London) VSR-net – Jim Woodcock (York) Local organization – Paul Boca (London) Industrial case study – Ian Oliver (Nokia, Helsinki)
  • 48. www.fmnet.info The End Keyworth Centre ▲ Hubble in clean room ▼ sel.gsfc.nasa.gov