INF5140 – Specification and Verification of Parallel Systems
Spring 2017
Institutt for informatikk, Universitetet i Oslo
January 20, 2017
1 / 38
INF5140 Specification and Verification of Parallel Systems Spring - - PowerPoint PPT Presentation
INF5140 Specification and Verification of Parallel Systems Spring 2017 Institutt for informatikk, Universitetet i Oslo January 20, 2017 1 / 38 Formal Methods Outline Formal Methods 1 Motivation An easy problem How to guarantee
1 / 38
3 / 38
an
1Thanks to César Muñoz (NASA, Langley) for providing the example. 4 / 38
1
2 3
4
5
6
7
8
9
10 11
12
13
14
15
5 / 38
6 / 38
7 / 38
2A deadly embrace is when two processes obtain access to two mutually
8 / 38
aOne may debate that.
3Undecidability of the halting problem, by Turing. 9 / 38
4Some authors define verification as a validation technique, others talk
10 / 38
5From Peled’s book [7] 11 / 38
12 / 38
6Picture borrowed from G.Holzmann’s slides
13 / 38
aSource: Garfinkel’s article “History’ worst software bugs”
14 / 38
aSource: Garfinkel’s article “History’ worst software bugs”
15 / 38
aSource: Garfinkel’s article “History’ worst software bugs”
16 / 38
aFrom D. Peled’s book “Software Reliability Methods”
17 / 38
18 / 38
19 / 38
20 / 38
7Testing is sometimes including as a formal method if based on a formal
21 / 38
22 / 38
23 / 38
24 / 38
25 / 38
26 / 38
8Here we follow Klaus Schneider’s book “Verification of reactive systems”. 27 / 38
28 / 38
29 / 38
30 / 38
31 / 38
32 / 38
33 / 38
34 / 38
35 / 38
9This chapter is also the base of lectures 3 and 4. 36 / 38
[1] Gregory R. Andrews. Foundations of Multithreaded, Parallel, and Distributed Programming. Addison-Wesley, 2000. [2] Jonathan P. Bowen and Michael G. Hinchey. Seven more myths of formal methods. IEEE Software, 12(3):34–41, July 1995. [3] Jonathan P. Bowen and Michael G. Hinchey. Ten commandments revisited: a ten-year perspective on the industrial application of formal methods. In FMICS ’05: Proceedings of the 10th international workshop on Formal methods for industrial critical systems, pages 8–16, New York, NY, USA, 2005. ACM Press. [4] Simson Garfinkel. History’s worst software bugs. Available at http://archive.wired.com/software/coolapps/news/2005/11/69355?currentPage=all, 2005. [5]
Seven myths of formal methods. IEEE Software, 7(5):11–19, September 1990. [6] Zohar Manna and Amir Pnueli. The temporal logic of reactive and concurrent systems—Specification. Springer Verlag, New York, 1992. [7] Doron Peled. Software Reliability Methods. Springer Verlag, 2001. 37 / 38
[8] Klaus Schneider. Verification of Reactive Systems. Springer Verlag, 2004. 38 / 38