Similar documents
Pretty-big-step semantics

MAT Program Verication: Exercises

Temporal Logics. Computation Tree Logic

Static Program Transformations for Efficient Software Model Checking

Rigorous Software Development CSCI-GA

Checking. E. M. Clarke O. Grumberg K. L. McMillan X. Zhao

Formal Verification of Software

Automated Theorem Proving - summary of lecture 1

A Propositional Dynamic Logic for CCS Programs

logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system?

Model Checking: An Introduction

Logic, Algebra and Truth Degrees Siena. A characterization of rst order rational Pavelka's logic

A simple algorithm with no simple verication

Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation

CHAPTER 7 GENERAL PROOF SYSTEMS

Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications

1 if 1 x 0 1 if 0 x 1

Handout #1: Mathematical Reasoning

It all depends on independence

Indiana State Core Curriculum Standards updated 2009 Algebra I

Peter V. Homeier and David F. Martin. and

SECTION 10-2 Mathematical Induction

Mathematical Induction. Mary Barnes Sue Gordon

Testing LTL Formula Translation into Büchi Automata

Concepts of Concurrent Computation

Combinatorial PCPs with ecient veriers

Lecture 9 verifying temporal logic

SYSTEMS AND SOFTWARE REQUIREMENTS SPECIFICATION (SSRS) TEMPLATE. Version A.4, January 2014 FOREWORD DOCUMENT CONVENTIONS

CS510 Software Engineering

Foundational Proof Certificates

The Course.

Validated Templates for Specification of Complex LTL Formulas

def: An axiom is a statement that is assumed to be true, or in the case of a mathematical system, is used to specify the system.

Using Patterns and Composite Propositions to Automate the Generation of Complex LTL

Notes on Determinant

Algorithmic Software Verification

Thesis work and research project

Mathematical Induction. Lecture 10-11

Elementary Number Theory and Methods of Proof. CSE 215, Foundations of Computer Science Stony Brook University

NASA Technical Memorandum (Revised) An Elementary Tutorial on Formal. Specication and Verication. Using PVS 2. Ricky W.

Software Engineering using Formal Methods

The Model Checker SPIN

Boolean Algebra Part 1

x < y iff x < y, or x and y are incomparable and x χ(x,y) < y χ(x,y).

it is easy to see that α = a

This chapter is all about cardinality of sets. At first this looks like a

Introducing Formal Methods. Software Engineering and Formal Methods

Chapter 7. Continuity

CHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs

THE DIMENSION OF A VECTOR SPACE

Discrete Mathematics and Probability Theory Fall 2009 Satish Rao, David Tse Note 2

Language. Johann Eder. Universitat Klagenfurt. Institut fur Informatik. Universiatsstr. 65. A-9020 Klagenfurt / AUSTRIA

Mathematical Induction

CONTRIBUTIONS TO ZERO SUM PROBLEMS

COMPUTER SCIENCE TRIPOS

4. CLASSES OF RINGS 4.1. Classes of Rings class operator A-closed Example 1: product Example 2:

System modeling. Budapest University of Technology and Economics Department of Measurement and Information Systems

Development of dynamically evolving and self-adaptive software. 1. Background

Trust but Verify: Authorization for Web Services. The University of Vermont

Lecture 13 of 41. More Propositional and Predicate Logic

o-minimality and Uniformity in n 1 Graphs

VeriTech - A Framework for Translating among Model Description Notations

Common Criteria For Information Technology Security Evaluation

Chapter 1 Verificationism Then and Now

Summary Last Lecture. Automated Reasoning. Outline of the Lecture. Definition sequent calculus. Theorem (Normalisation and Strong Normalisation)

MA651 Topology. Lecture 6. Separation Axioms.

Lectures notes on orthogonal matrices (with exercises) Linear Algebra II - Spring 2004 by D. Klain

Formal Verification and Linear-time Model Checking

Introduction to SPIN. Acknowledgments. Parts of the slides are based on an earlier lecture by Radu Iosif, Verimag. Ralf Huuck. Features PROMELA/SPIN

MATHEMATICAL INDUCTION. Mathematical Induction. This is a powerful method to prove properties of positive integers.

Predicate Logic Review

The last three chapters introduced three major proof techniques: direct,

Chair of Software Engineering. Software Verification. Assertion Inference. Carlo A. Furia

MATH 4330/5330, Fourier Analysis Section 11, The Discrete Fourier Transform

Software Modeling and Verification

Introduction to Promela and SPIN. LACL, Université Paris 12

Chapter 1: Key Concepts of Programming and Software Engineering

Monitoring Metric First-order Temporal Properties

Clustering and scheduling maintenance tasks over time

Verifying Semantic of System Composition for an Aspect-Oriented Approach

Transcription:

Verication by Finitary Abstraction Weizmann Institute of Sciences and Universite Joseph Fourier, Grenoble Fourth International Spin Workshop (SPIN'98) Paris 2.11.98 Joint work with: Y. Kesten Ben Gurion University Spin'98 Workshop, Paris, 2.11.1998

The Common Wisdom To verify a reactive system S, If it is nite state, model check it. Otherwise, prove it by temporal deduction, using a temporal deductive system such as [MP] or TLA, supported by theorem provers, such as STeP, TLP, or PVS. Often, both approaches to verication can be simplied by using abstraction. Spin'98 Workshop, Paris, 2.11.1998 1

AAV: Abstraction Aided Verication An Obvious idea: Abstract system S into S A admitting more behaviors. { a simpler system, but Verify property for the abstracted system S A. Conclude that property holds for the concrete system. Approach is particularly impressive when abstracting an innite-state system into a nite-state one. Spin'98 Workshop, Paris, 2.11.1998 2

Can Abstraction Replace Deduction? An intriguing question is whether abstraction can completely replace the need for Temporal Deduction. That is, is it the case that, for every (possibly innitestate) system K and a property valid for K, we can nd an abstraction such that K is nite-state, is propositional, and K j=? This will relegate temporal reasoning to the regime of automatic model checking techniques. Possible Advantages: First-order temporal reasoning is more dicult to master than rst-order state reasoning. People (engineers) nd it easier to program, than to write logical formulas. An abstraction is easier to develop (program) than an invariant assertion. Spin'98 Workshop, Paris, 2.11.1998 3

Technically Dene the methodology of Verication by Finitary Abstraction (VFA) as follows: To prove K j=, Abstract K into a nite-state system K and the specication into a propositional ltl formula. Model check K j=. The question considered in this talk is whether we can nd instantiations of this general methodology which are sound and (relatively) complete. Spin'98 Workshop, Paris, 2.11.1998 4

The Computational Model: Fair Kripke's Structures An fks K = hv J Ci consists of: V { A nite set of state variables. A state s is an interpretation of V. { the set of all states. { An initial condition. A satisable assertion that characterizes the initial states. { A transition relation. An assertion (V V 0 ), referring to both unprimed (current) and primed (next) versions of the state variables. For example, x 0 = x +1 corresponds to the assignment x := x +1. J = fj 1 ::: J k g A set of justice (weak fairness) requirements. Ensure that a computation has innitely many J i -states for each J i i = 1 ::: k. C = fhp 1 q 1 i :::hp n q n ig A set of compassion (strong fairness) requirements. Innitely many p i - states imply innitely many q i -states. Spin'98 Workshop, Paris, 2.11.1998 5

Computations Let K be an fks for which the above components have been identied. The state s 0 is dened to be a K-successor of state s if hs s 0 i j= K (V V 0 ): We dene a computation of K to be an innite sequence of states : s 0 s 1 s 2 ::: satisfying the following requirements: Initiality: s 0 is initial, i.e., s 0 j= K. Consecution: For each j = 0 1 :::, the state s j+1 is a K-successor of the state s j. Justice: J-states For each J 2 J, contains innitely many Compassion: For each hp qi 2 C, if contains innitely many p-states, it must also contain innitely many q-states. Spin'98 Workshop, Paris, 2.11.1998 6

Consider the program Example: Program any-y 2 x y : integer initially x = y = 0 4 `0 : while x = 0 do [`1 : y := y + 1] `2 : 3 5 m0 : x := 1 m 1 : ; P 1 ; ; P 2 ; Spin'98 Workshop, Paris, 2.11.1998 7

State Variables V : The Corresponding fks 0 @ x y : integer 1 : f`0 `1 `2g 2 : fm 0 m 1 g 1 A. Initial condition: : 1 = `0 ^ 2 = m 0 ^ x = y = 0: Transition Relation: : I _ `0 `1 m0, with appropriate disjunct for each statement. For example, the disjuncts I and are `0 I : 1 0 = 1 ^ 2 0 = 2 ^ x 0 = x ^ y 0 = y `0 : 1 = `0 ^ 0 0 = `1 @ x = 0 ^ 1 _ 0 x 6= 0 ^ 1 = `2 1 A ^ 2 0 = 2 ^ x 0 = x ^ y 0 = y Justice set: J : f:at ;`0 :at ;`1 :at ; m 0 g. Compassion set: C:. Spin'98 Workshop, Paris, 2.11.1998 8

Abstraction Based on the notion of abstract interpretation [CC77]. Let denote the set of states of an fks K { the concrete states. Let : 7! A be a mapping of concrete states into abstract states. We formulate the strategy of Verication by Abstraction: Dene an abstraction mapping to abstract the concrete fks K into an abstract fks K A. Abstract the temporal property into an abstract property. Verify K A j=. Conclude K j=. The question is how to dene the abstractions K A such that K j= implies K j=? A and That is, how to ensure that the abstraction is sound. Spin'98 Workshop, Paris, 2.11.1998 9

Consider the program Example: Program any-y 2 x y : integer initially x = y = 0 4 `0 : while x = 0 do [`1 : y := y + 1] `2 : 3 5 m0 : x := 1 m 1 : ; P 1 ; ; P 2 ; Assume we wish to verify the property system any-y. (y 0) for The abstract variable Y, ranges over the abstract domain fneg zero posg. The abstraction function maps the domain of y into the domain of Y as follows: (y): 8 >: if y < 0 then neg else-if y = 0 then zero else pos 9 > Spin'98 Workshop, Paris, 2.11.1998 10

The Abstracted Version With the mapping, we can obtain the abstract version of any-y, called any-y : x: integer initially x = 0 Y : fneg zero posg initially Y = zero P 1 :: 2 6 4 `0 : `2 : while x 8= 0 do if then >: else [`1 : Y := Y = neg fneg zerog pos 9 > ] 3 7 5 P 2 :: m0 : x := 1 m 1 : The original invariance property : (y 0), is abstracted into: : (Y 2 fzero posg) which can be model-checked over any-y. Spin'98 Workshop, Paris, 2.11.1998 11

Joint Abstraction System Only: h i jp j h i jp j Q implied by jp j Q System + Specication: h i jp j h i jp j implied by jp j + jqj ; h h i jqj jqj i Can be justied by h i jp j h i jqj () h i jp j \ h i jqj Spin'98 Workshop, Paris, 2.11.1998 12

Abstraction of Assertions Assume that the abstraction mapping is given as V A = E (V ). How to lift from states to assertions? There are two (dual) ways to abstract an assertion p: Observe: ; (p): 8V (V A = E (V )! p(v )) and + (p): 9V (V A = E (V ) ^ p(v )) An abstract state S 2 A satises ; (p) i all concrete states s 2 ;1 (S) satisfy p. An abstract state S 2 A satises + (p) i some concrete state s 2 ;1 (S) satises p. Equivalently: ;1 (k ; (p)k) {z } contracting kpk ;1 (k + (p)k) {z } expanding For example, for : integer 7! fneg zero posg, ; (0 y 5) : Y = zero + (0 y 5) : Y 2 fzero posg Spin'98 Workshop, Paris, 2.11.1998 13

The Two Abstraction Transformers p Spin'98 Workshop, Paris, 2.11.1998 14

The Existential (expanding) Abstraction p + (p) An abstract state s belongs to + (p) if some concrete state -mapped into s satises p. Spin'98 Workshop, Paris, 2.11.1998 15

The Universal (contracting) Abstraction p ; (p) + (p) An abstract state s belongs to ; (p) if all concrete states -mapped into s satisfy p. Spin'98 Workshop, Paris, 2.11.1998 16

Sound Temporal Abstraction For a temporal formula, let be obtained from by replacing Every maximal p, a sub-assertion of of positive polarity (enclosed within an even number of negations), by ; (p), and Every maximal p, a sub-assertion of of negative polarity (enclosed within an odd number of negations), by + (p). Then j= implies j=. This claim is based on the observation (provable by induction on the structure of ) that, for every state sequence : s 0 s 1 :::, and every position j 0, (() j) j= implies ( j) j= : Spin'98 Workshop, Paris, 2.11.1998 17

And Now to Systems Given an fks K = hv J Ci, there exists a temporal formula Sem(K), called the temporal semantics of K, such that, for every innite state sequence, j= Sem(K) i is a computation of K. Sem(K) Is given by: ^ ^ (V V ) ^ J ^ ^ J2J (p q)2c ( p! q) Given a verication problem K? j=, we construct the temporal formula Ver (K ): Sem(K)! : It is not dicult to establish that K j= i Ver (K ) is valid. Spin'98 Workshop, Paris, 2.11.1998 18

Sound Joint Abstraction For an fks K = hv J Ci, we dene the -abstracted version of K to be the fks K = hv A J C i, where = + () = ++ () J = f + (J ) j J 2 J g C = f( ; (p) + (q)) j (p q) 2 Cg Where, ++ () = 9V V 0 V A = E (V ) ^ V 0 A = E (V 0 ) ^ (V V 0 ) Soundness: If K and are abstracted according to the recipes presented above, then K j= implies K j=. Spin'98 Workshop, Paris, 2.11.1998 19

Systematic Construction of Abstractions Let p 1 p 2 ::: p k be the set of all atomic formulas referring to the data (non-control) variables appearing within conditions in the program P and within the temporal formula. Following [BBM95], dene abstract boolean variables B p1 B p2 ::: B pk, one for each atomic data formula. The abstraction mapping is dened by : fb p1 = p 1 B p2 = p 2 ::: B pk = p k g Spin'98 Workshop, Paris, 2.11.1998 20

Example: Program BAKERY-2 local y 1 y 2 : natural initially y 1 = y 2 = 0 P 1 :: 2 3 `0 : 2 loop forever do 3 `1 : Non-Critical `2 : y 1 := y 2 + 1 6 6 `3 : await y 2 = 0 _ y 1 < y 2 7 7 4 4 `4 : Critical 5 5 `5 : y 1 := 0 P 2 :: 2 6 4 m 0 : 2 loop forever do m 1 : Non-Critical m 2 : y 2 := y 1 + 1 6 m 3 : await y 1 = 0 _ y 2 y 1 4 m 4 : Critical m 5 : y 2 := 0 3 7 5 3 7 5 The temporal properties for program bakery-2 are exc : :(at ;`4 ^ at ; m 4 ) acc : (at ;`2! at ;`4) Spin'98 Workshop, Paris, 2.11.1998 21

Abstracting Program BAKERY-2 Dene abstract variables B y1 =0, B y2 =0, and B y1 <y 2. local B y1 =0 B y2 =0 B y1 <y 2 : boolean initially B y1 =0 = B y2 =0 = 1 B y1 <y 2 = 0 P 1 :: 2 6 4 `0 : 2 loop forever do `1 : Non-Critical 6 `3 : await B y2 =0 _ B y1 <y 2 4 `4 : Critical `2 : (B y1 =0 B y1 <y 2 ) := (0 0) `5 : (B y1 =0 B y1 <y 2 ) := (1 :B y2 =0) 3 7 5 3 7 5 P 2 :: 2 6 4 m 0 : 2 loop forever do m 1 : Non-Critical m 2 : (B y2 =0 B y1 <y 2 ) := (0 1) 6 m 3 : await B y1 =0 _ :B y1 <y 2 4 m 4 : Critical m 5 : (B y2 =0 B y1 <y 2 ) := (1 0) 3 7 5 3 7 5 The abstracted properties can now be model-checked. Spin'98 Workshop, Paris, 2.11.1998 22

II. Completeness Warning: Like every other completeness proof of an undecidable theory, our completeness proof is also non-constructive and does not provide recipes for constructing the proof. Spin'98 Workshop, Paris, 2.11.1998 23

A Complete System for Temporal Deduction Proceeds through the following steps: 1. Rule inv for state invariances p. 2. Rule chain for response properties p =) q (state version), achievable by a bounded number of helpful steps. 3. Rule well for response, using well-founded convergence measures. 4. Adding compassion to chain and well. To deal with a general temporal formula, we rst construct a temporal tester K : such that a sequence : s 0 s 1 ::: satises : i it is an observation of K. Then we use the fact that K j= i KkjK : j= false where KkjK : is the synchronous parallel composition of K and K :. Spin'98 Workshop, Paris, 2.11.1998 24

The vfa Method is Complete for Invariance K j= p Temporal Deduction: Rule inv I1.! ' I2. ^ '! ' 0 I3. '! p p p ' VFA : B' = ' K + j= p ; :B' B' j= B' Spin'98 Workshop, Paris, 2.11.1998 25

Completeness for Response Properties Provable by Rule chain K j= p =) q Rule chain For assertions q = ' 0 ' 1 ::: ' m and justice requirements J 1 ::: J m 2 J C1. p! m_ j=0 ' j For 8i = 1 ::: m, _ C2. ^ ' i! >< ji ' j 0 >: C3. ^ ' i ^ J i 0! _ j<i ' j 0 p =) q Can often be represented by a verication diagram. Spin'98 Workshop, Paris, 2.11.1998 26

Example: Verifying Accessibility for bakery-2 The following diagram veries (using rule chain) the property of accessibility for program bakery-2 speciable by the formula at ;`2 =) at ;`4. ' 5 : at ;`2 J 5 : :at ;`2 at ;`3 ^ y 1 > 0 ' 4 : at ; m 3 ^ y 2 y 1 J 4 : :(at ; m 3 ^ (y 1 = 0 _ y 2 y 1 )) ' 3 : at ; m 4 J 3 : :at ; m 4 ' 2 : at ; m 5 J 2 : :at ; m 5 ' 1 : y 2 = 0 _ y 1 < y 2 J 1 : :(at ;`3 ^ (y 2 = 0 _ y 1 < y 2 )) ' 0 : at ;`4 The proof relies on the auxiliary invariant I : at ; m 0::2! y 2 = 0 Spin'98 Workshop, Paris, 2.11.1998 27

chain-relative Completeness of vfa A nitary abstraction mapping is said to be precise with respect to the assertion p if ; (p) + (p). A sucient condition for to be precise w.r.t. p, is that contains the denition B p = p. For an -precise p, we denote (p) = ; (p) + (p). The nitary mapping is said to be adequate for the assertion p, assumed to be an invariant of system K, if ; (p) is an invariant of the abstracted system K. A sucient condition for p-adequacy is that is precise for ', the auxiliary assertion used for verifying p by rule inv. Claim 1. Let us assume that the response property : p =) q is veriable by rule chain, and that the abstraction is precise w.r.t the assertions p, q, I, and ' 1 ::: ' m, J 1 ::: J m, appearing in the application of rule chain. Also assume that is adequate for the auxiliary invariant I used in the rule, Then will model check successfully over K. Corollary 1. If p =) q is veriable by rule chain, then it is also veriable by the vfa method. Spin'98 Workshop, Paris, 2.11.1998 28

A Sketch of a Proof Provability by chain implies that premises C1, C2, and C3 are valid for p, q, I, ' 1 ::: ' m, J 1 ::: J m, and. We will show that these premises are also valid for the choice of (p), (q), (I), (' 1 ) ::: (' m ), (J 1 ) ::: (J m ), and ++ (). This will establish the validity of the abstracted response property : (p) =) (q) over K. We illustrate the porting of validity on premise C2: I ^ ^ ' i! W ji ' j 0 Applying the 99-introduction rule, we obtain + (I ^ ^ ' i )! + ( W ji ' j 0 ) which implies ; (I) ^ ++ () ^ ; (' i )! W ji + (' j ) 0 : Using the precision of I and the ' j 's, we obtain (I) ^ ++ () ^ (' i )! W ji ( ' j ) 0 which is the abstracted version of C2. We conclude that is valid over K and, therefore, will model check successfully. Spin'98 Workshop, Paris, 2.11.1998 29

Response Proofs Requiring Unbounded Convergence Measures Not every valid response property can be proven by rule chain. Termination of program up-down below requires a convergence measure ranging over the ordinal! + 1. 2 6 4 `0 : `2 : `4 : x: boolean initially x = 0 y: natural initially y = 0 while x = 0 do [`1 : y := y + 1] while y > 0 do [`3 : y := y ; 1] 3 7 5 m0 : x := 1 m 1 : ; P 1 ; ; P 2 ; Spin'98 Workshop, Paris, 2.11.1998 30

2 6 4 `0 : `2 : `4 : The Abstraction that Works x: boolean initially x = 0 Y : fzero posg initially Y = zero while x = 0 do [`1 : Y := add1 (Y )] while Y = pos do [`3 : Y := sub1 (Y )] 3 7 5 m0 : x := 1 m 1 : ; P 1 ; ; P 2 ; Abstract variable Y ranges over a fair data structure consisting of the domain fzero posg and the operations add1, sub1, which satisfy the constraints u = add1 (v)! u = pos u = sub1 (v)! u = zero _ v = pos and the compassion requirement (Y 0 = sub1 (Y ) Y 0 = add1 (Y ) _ Y = zero): Termination of the abstracted up-down program, can now be model checked. Spin'98 Workshop, Paris, 2.11.1998 31

Discussion and Conclusions Work is still in progress. However, there are very good indications that the vfa method is complete relative to temporal deduction. This identies the vfa approach as a viable and promising alternative/complement to temporal deduction. Note that rst-order (state-)deduction has to stay, because this is the main tool for computing the abstractions + (p), ; (q), ++ (). We urgently need an extensive research into methods and heuristics for the automatic construction of useful abstractions. Spin'98 Workshop, Paris, 2.11.1998 32