INF5140 – Specification and Verification of Parallel Systems
Spring 2018
Institutt for informatikk, Universitetet i Oslo
January 26, 2018
1 / 102
INF5140 Specification and Verification of Parallel Systems Spring - - PowerPoint PPT Presentation
INF5140 Specification and Verification of Parallel Systems Spring 2018 Institutt for informatikk, Universitetet i Oslo January 26, 2018 1 / 102 Introduction INF5140 Specification and Verification of Parallel Systems Overview,
1 / 102
3 / 102
4 / 102
5 / 102
7 / 102
an
1Thanks to César Muñoz (NASA, Langley) for providing the example. 8 / 102
1
2 3
4
5
6
7
8
9
10 11
12
13
14
15
9 / 102
10 / 102
11 / 102
2A deadly embrace is when two processes obtain access to two mutually
12 / 102
aOne may debate that.
3Undecidability of the halting problem, by Turing. 13 / 102
4Some authors define verification as a validation technique, others talk
14 / 102
5From Peled’s book [Peled, 2001] 15 / 102
16 / 102
6Picture borrowed from G.Holzmann’s slides
17 / 102
18 / 102
aSource: Garfinkel’s article “History’ worst software bugs”
19 / 102
aSource: Garfinkel’s article “History’ worst software bugs”
20 / 102
aSource: Garfinkel’s article “History’ worst software bugs”
21 / 102
aFrom D. Peled’s book “Software Reliability Methods”
22 / 102
23 / 102
24 / 102
25 / 102
7Testing is sometimes including as a formal method if based on a formal
26 / 102
27 / 102
28 / 102
29 / 102
30 / 102
31 / 102
8Here we follow Klaus Schneider’s book “Verification of reactive systems”. 32 / 102
33 / 102
34 / 102
35 / 102
36 / 102
37 / 102
38 / 102
39 / 102
40 / 102
9This chapter is also the base of lectures 3 and 4. 41 / 102
42 / 102
10Note: there is no such thing as “the logics”. There are many . . . 43 / 102
45 / 102
46 / 102
47 / 102
48 / 102
49 / 102
50 / 102
51 / 102
52 / 102
53 / 102
54 / 102
55 / 102
56 / 102
57 / 102
58 / 102
59 / 102
60 / 102
61 / 102
62 / 102
64 / 102
65 / 102
66 / 102
67 / 102
68 / 102
69 / 102
70 / 102
71 / 102
72 / 102
73 / 102
74 / 102
75 / 102
76 / 102
77 / 102
78 / 102
[Andrews, 2000] Andrews, G. R. (2000). Foundations of Multithreaded, Parallel, and Distributed Programming. Addison-Wesley. [Blackburn et al., 2001] Blackburn, P., de Rijke, M., and Venema, Y. (2001). Modal Logic. Cambridge University Press. [Bowen and Hinchey, 2005] Bowen, J. P. and Hinchey, M. G. (2005). 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. ACM Press. [Garfinkel, 2005] Garfinkel, S. (2005). History’s worst software bugs. Available at http://archive.wired.com/software/coolapps/news/2005/11/69355?currentPage=all. [Harel et al., 2000] Harel, D., Kozen, D., and Tiuryn, J. (2000). Dynamic Logic. Foundations of Computing. MIT Press. [Manna and Pnueli, 1992] Manna, Z. and Pnueli, A. (1992). The temporal logic of reactive and concurrent systems—Specification. Springer Verlag, New York. [Peled, 2001] Peled, D. (2001). Software Reliability Methods. Springer Verlag. [Schneider, 2004] Schneider, K. (2004). Verification of Reactive Systems. Springer Verlag. 79 / 102