Lec01 Jan 19 PDF
Lec01 Jan 19 PDF
Lec01 Jan 19 PDF
José Meseguer
1
Formal Methods: What and Why
2
Formal Methods as Mathematical Modeling
3
Mathematical Modeling: Safety and Efficiency
4
By Hand vs. Tool-Assisted Specification and Verification
One can reason mathematically about a software and prove
it correct; this can be done even with pencil and paper.
5
By Hand vs. Tool-Assisted Verification (II)
6
Limitations of Formal Methods
7
Limitations of Formal Methods (II)
8
Limitations of Formal Methods (III)
9
Limitations of Formal Methods (IV)
And this for the exact same reason why using mathematical
models is our best way to know what we are doing in
science and engineering.
10
Limitations of Formal Methods (V)
The fact of life is that not all systems are equally critical.
Therefore it is a question of good judgement, and at times
also an ethical question, to decide how much effort should
be spent in software verification.
11
Formal Methods: their Cost and Assurance
Assurance 6
Theorem
Model Proving
Search
Run-Time & Checking
Ver. & Bounded
Spec.-based Model
Cert. & Checking
Exec.
Scalable
Spec.
Methods
Testing
-
Effort
12
Deterministic vs. Concurrent
13
Imperative vs. Declarative
14
The Declarative Advantage
15
The Imperative Program Verification Game
16
The Imperative Program Verification Game (II)
17
The Equational/Rewriting Logic Framework
18
The Equational/Rewriting Logic Framework (II)
The above choice has the following advantages:
1. suitable subsets of equational and rewriting logic are
efficiently executable, giving rise, respectively, to a
declarative deterministic functional language, and a
declarative concurrent language;
2. equational logic is very well suited to give executable
axiomatizations of deterministic languages, including
imperative sequential languages;
3. rewriting logic is likewise very well suited to give
executable axiomatization of (declarative or imperative)
concurrent languages;
4. therefore, we can specify all the four kinds of programs
in an executable way within the combined framework.
19
Initiality and Induction
20
Maude
21
Course Outline
22
What You Can Get out of this Course
23
Set Theory Prerequisites
24
Set Theory Prerequisites (II)
25
Set Theory Prerequisites (III)
26
Set Theory Prerequisites (IV)
To help you in this task, in case you need it, the following
things may be useful and may help you focus your efforts:
27
Other Suggested Readings
28