Symbolic Model Checking Property Specification Language*

Similar documents
PSL Model Checking and Run-time Verification via Testers

A Hierarchy for Accellera s Property Specification Language

Temporal Logic. M φ. Outline. Why not standard logic? What is temporal logic? LTL CTL* CTL Fairness. Ralf Huuck. Kripke Structure

CTL Model checking. 1. finite number of processes, each having a finite number of finite-valued variables. Model-Checking

Overview. overview / 357

Model Checking. Temporal Logic. Fifth International Symposium in Programming, volume. of concurrent systems in CESAR. In Proceedings of the

Lecture 2: Symbolic Model Checking With SAT

Computation Tree Logic

Computation Tree Logic (CTL)

Computer-Aided Program Design

Linear Temporal Logic and Büchi Automata

Model Checking: An Introduction

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct.

Abstractions and Decision Procedures for Effective Software Model Checking

An Introduction to Temporal Logics

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either

Chapter 6: Computation Tree Logic

Chapter 4: Computation tree logic

Chapter 5: Linear Temporal Logic

Model Checking Algorithms

T Reactive Systems: Temporal Logic LTL

Testing with model checkers: A survey

Verification Using Temporal Logic

SMV the Symbolic Model Verifier. Example: the alternating bit protocol. LTL Linear Time temporal Logic

Lecture 16: Computation Tree Logic (CTL)

QBF Encoding of Temporal Properties and QBF-based Verification

Systems Verification. Alessandro Abate. Day 1 January 25, 2016

Course Runtime Verification

Timo Latvala. February 4, 2004

Formal Methods Lecture VII Symbolic Model Checking

An On-the-fly Tableau Construction for a Real-Time Temporal Logic

Symbolic Trajectory Evaluation (STE): Orna Grumberg Technion, Israel

Linear-time Temporal Logic

Bounded Model Checking with SAT/SMT. Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39

Double Header. Model Checking. Model Checking. Overarching Plan. Take-Home Message. Spoiler Space. Topic: (Generic) Model Checking

MODEL CHECKING. Arie Gurfinkel

Towards Inference and Learning in Dynamic Bayesian Networks using Generalized Evidence

Topics in Verification AZADEH FARZAN FALL 2017

Automata-Theoretic Model Checking of Reactive Systems

EAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties

Computation Tree Logic

Model Checking. Boris Feigin March 9, University College London

Computation Tree Logic (CTL) & Basic Model Checking Algorithms

First-order resolution for CTL

Automata on Infinite words and LTL Model Checking

CTL Model Checking. Wishnu Prasetya.

A brief history of model checking. Ken McMillan Cadence Berkeley Labs

Chapter 5: Linear Temporal Logic

Model Checking with CTL. Presented by Jason Simas

Verification. Arijit Mondal. Dept. of Computer Science & Engineering Indian Institute of Technology Patna

Structural Contradictions

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar

Model Checking & Program Analysis

Chapter 3: Linear temporal logic

CTL, the branching-time temporal logic

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino

Model checking the basic modalities of CTL with Description Logic

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford

Linear-Time Logic. Hao Zheng

Lecture Notes on Emptiness Checking, LTL Büchi Automata

NPTEL Phase-II Video course on. Design Verification and Test of. Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati

Languages, logics and automata

Comp487/587 - Boolean Formulas

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar

A Brief Introduction to Model Checking

Alternating Time Temporal Logics*

From Löwenheim to Pnueli, from Pnueli to PSL and SVA

Automata and Reactive Systems

Computation Tree Logic

ESE601: Hybrid Systems. Introduction to verification

Automata-based Verification - III

Revising Specifications with CTL Properties using Bounded Model Checking

Temporal Logic Model Checking

Theoretical Foundations of the UML

Automata Construction for PSL

Scuola Estiva di Logica, Gargnano, 31 agosto - 6 settembre 2008 LOGIC AT WORK. Formal Verification of Complex Systems via. Symbolic Model Checking

The State Explosion Problem

Automata-Theoretic LTL Model-Checking

Unbounded, Fully Symbolic Model Checking of Timed Automata using Boolean Methods

Alan Bundy. Automated Reasoning LTL Model Checking

Boolean decision diagrams and SAT-based representations

AVACS Automatic Verification and Analysis of Complex Systems REPORTS. of SFB/TR 14 AVACS. Editors: Board of SFB/TR 14 AVACS

Counterexamples in Probabilistic LTL Model Checking for Markov Chains

Executing the formal semantics of the Accellera Property Specification Language

The Safety Simple Subset

2. Elements of the Theory of Computation, Lewis and Papadimitrou,

A Model Checker for Strategy Logic

Automata-Theoretic Verification

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1

Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66

Models for Efficient Timed Verification

New Complexity Results for Some Linear Counting Problems Using Minimal Solutions to Linear Diophantine Equations

MODEL-CHECKING IN DENSE REAL-TIME SHANT HARUTUNIAN

Learning to Verify Branching Time Properties

On Boolean Encodings of Transition Relation for Parallel Compositions of Transition Systems

Model Checking: the Interval Way

A Sound and Complete Deductive System for CTL* Verification

Symmetry Reductions. A. Prasad Sistla University Of Illinois at Chicago

Transcription:

Symbolic Model Checking Property Specification Language* Ji Wang National Laboratory for Parallel and Distributed Processing National University of Defense Technology *Joint Work with Wanwei Liu, Huowang Chen, Xiaodong Ma and Zhaofei Wang

Agenda Motivations Brief Overview of Symbolic Model Checking of LTL From PSL to APSL Tableau based Model Checking of APSL BDD based Encoding of APSL Tableaux Tool and Experiments Conclusion

Model Checking Model checking is an automatic technique to verify if a system satisfies its design specification. Why model checking? Complexity of modern hardware/software. Impractical for manually verification and proving. How to run model checking? Model, abstraction of systems, described as (finite) transition systems, Kripke structures Specification, property to be verified Checking!

Specification Language Specifications are written with various temporal logics. PSL (Property Specification Language) has become an industrial standard (IEEE 1850). Evolved from some industrial used language, such as VHDL & Verilog. Has full expressiveness to describe all the omega-regular properties. Properties such as p holds at every even moment cannot be expressed by any LTL formula.

Verification of PSL Approaches Bustan, Fisman and Havlicek developed an automata-based approach for model checking PSL. Tuerk, Schneider and Gordon presented PSL model checking using HOL and SMV. Pnueli and Zaks developed a model checking approach, based on testers. Tools The tool RuleBase of IBM ZeroIn of Mentor

Motivation How to efficiently model check PSL? Symbolic Model Checking PSL A BDD-based symbolic approach for PSL model checking Achieve the goal without doing too much adaptation to the existing popular verification tools

Basic Idea Property Specification Language. PSL = FL + OBE An extension of LTL CTL

Basic Idea Clarke et al presented an adapted LTL model checking framework, which converts the LTL MC problem to that of CTL Model M LTL formula ϕ Transition system M T ϕ Tableau T ϕ M T ϕ EG true? No Yes Affirmative answer Counterexample

Contributions A variant of PSL, namely APSL is presented, which has precisely the same expressiveness. The tableau based symbolic model checking algorithm of LTL is extended to that of APSL. Model M AFL formula ϕ Transition system M T ϕ Tableau T ϕ M T ϕ EG true? No Affirmative answer Yes Counterexample Extend NuSMV tool, and make it support APSL.

Agenda Motivations Brief Overview of Symbolic Model Checking of LTL From PSL to APSL Tableau based Model Checking of APSL BDD based Encoding of APSL Tableaux Tool and Experiments Conclusion

Models A model is a state-labeled transition system (or, Kripke structure) M = S, ρ, I, L, Ω where: S is a (finite) set of states. ρ S S, is the transition relation. I S, is a set of initial states. L: S 2 AP, is the labeling function. Ω 2 S, is a set of fairness constraints.

Computations The linear perspective of a model s 1 p q s 3 p, q s 2 r s 4 Ω={{s 2 }, {s 4 }} p p p p, q q r r p p p,q p, q r r r

Computations The branching perspective of a model s 1 p p, q s 2 q s 3 r s 4 Ω={{s 2 }, {s 4 }} p p p, q p, q p q p, q r

Linear Temporal Logic LTL ϕ :: = p proposition ϕ ϕϕ Xϕ next ϕ Uϕ until

LTL Semantics LTL Semantics π, i p iff p π(i). π, i ϕ iff π, i ϕ not holds. π, i ϕ 1 ϕ 2 iff π, i ϕ 1 and π, i ϕ 2. π, i Xϕ iff π, i+1 ϕ. π, i ϕ 1 Uϕ 2 iff there is some j i, s.t. π, j ϕ 2 and for each i k<j s.t. π, k ϕ 1. Model checking problem of LTL M ϕ iff all fair derived paths of M satisfy ϕ.

Computation Tree Logic CTL ϕ :: = p ϕ ϕϕ AXϕ A(ϕ Uϕ) E(ϕ Uϕ) Semantics of CTL formulae is defined on computation trees. The CTL model checking problem M ϕ is to verify that if all computation trees unwounded from M satisfy ϕ.

CTL Model Checking Framework of CTL model Checking (explicit) Model M CTL formula ϕ Sat set of ϕ upon M, [ϕ ] M Yes I [ϕ ] M? No Affirmative answer Counterexample

CTL Symbolic Model Checking Idea of symbolic model checking Using n bit variables to represent 2 n states. s 1 p q s 3 p, q s 2 r s 4 We can use 2 bit variables v 0 and v 1 to encode the states.

CTL Symbolic Model Checking 00 s 1 p q s 3 01 s 2 r p, q 10 11 s 4 Each subset of the state set corresponds to a Boolean function over v 0 and v 1. For example, the state set {s 1, s 2 }, in which p is evaluated to true, can be represented as v 1.

CTL Symbolic Model Checking 00 s 1 p q s 3 01 s 2 r p, q 10 11 s 4 Each transition can be characterized as a Boolean over v 0, v 1, v 0 and v 1. e.g., the transition corresponding to the red edge can be written as v 0 v 1 v 0 v 1. Use the disjunction of such formulae as the encoding of the transition relation.

CTL Symbolic Model Checking Initial states, fairness constraints and the labeling (for each proposition) can be encoded into a Boolean function. What we need to storage is a set of Boolean formulae, instead of explicit states and transitions. With these formulae, we can compute, in a bottom-up manner, the Sat set of each subformula. This computing process is manipulated based on BDDs (Binary Decision Diagrams), which can be implemented in an efficient way.

Symbolic Model Checking of LTL Model M LTL formula ϕ Transition system M T ϕ Tableau T ϕ M T ϕ EG true? No Yes Affirmative answer Counterexample

Agenda Motivations Brief Overview of Symbolic Model Checking of LTL From PSL to APSL Tableau based Model Checking of APSL BDD based Encoding of APSL Tableaux Tool and Experiments Conclusion

PSL PSL = FL + OBE An extension of LTL CTL

FL Syntax ϕ :: = b ϕ ϕϕ Xϕ ϕ Uϕ ϕ abort b abort r T ϕ trigger Sequential Extended Regular Expressions (SERE)

SERE r :: = b Boolean expression r; r concatenation r:r fusion r r choice r && r and r * Kleen closure r@c clock sampling

Examples Concatenation: r 1 ; r 2 r 1 r 2 Fusion: r 1 : r 2 r 1 r 2

Examples Clock Sampling: r@c r

Semantics of FL Semantics of FL formulae Formulae of b, ϕ, ϕ 1 ϕ 2 are defined as usual Formulae of Xϕ and ϕ 1 Uϕ 2 are defined as same as in LTL π, i (ϕ abort b) iff either π, i ϕ or there is some j i, and some π, s.t. π[i,j];π ϕ and π, j+1 b π, i r Tϕ iff there is some j i, s.t. π[i,j] L(r), and π, j ϕ ϕ r Tϕ L(r)

Symbolic model checking PSL? Symbolic model checking PSL? The major effort of PSL model checking must put on that for FL formulae. Explore the idea of LTL symbolic model checking.

Elementary Formulas For each formula ϕ, we can inductively construct theset of elementary formulae of ϕ, denoted El(ϕ) as follows: El(b) = {p AP p occurs in b}; El( ψ) = El(ψ); El(ψ 1 ψ 2 ) = El(ψ 1 ) El(ψ 2 ); El(Xψ) = {Xψ} El(ψ); El(ψ 1 Uψ 2 ) = {X(ψ 1 Uψ 2 )} El(ψ 1 ) El(ψ 2 ) An element of El(ϕ) is either an atomic proposition or a formula of the form Xψ

Sat functions For each subformula ψ of ϕ, define the function Sat, which maps ψ to a set of subsets of El(ϕ). Sat (p) = {W El(ϕ) p W}; Sat ( ψ) = 2 El(ϕ) \Sat(ψ); Sat (ψ 1 ψ 2 ) = Sat(ψ 1 ) Sat(ψ 2 ); Sat (Xψ) = {W El(ϕ) Xψ W}; Sat (ψ 1 Uψ 2 ) = Sat(ψ 2 )Sat(ψ 1 ) Sat(X(ψ 1 Uψ 2 ))).

Tableau The tableau of ϕ, denoted T ϕ is the transition system S ϕ, ρ ϕ, I ϕ, L ϕ, Ω ϕ, where: S ϕ consists of subsets of El(ϕ). (W,W ) ρ ϕ iff for each Xψ El(ϕ), W Sat(Xψ) if and only if W Sat(ψ). I ϕ = Sat(ϕ). L ϕ (W) = W AP. For each subformula ψ 1 Uψ 2 of ϕ, there is a fairness constraint Sat( (ψ 1 Uψ 2 )) Sat(ψ 2 ) in Ω ϕ. For each π (2 AP ) ω, π ϕ iff π L(T ϕ )

Tableau of FL? For FL formula, the difficulty is that the transition structure is not explicit. So, when defining the Sat function for formula of r T b, it is hard to write an explicit formula. Replace SEREs with NFAs

APSL A variant of PSL, namely APSL. APSL = AFL +OBE A variant of FL CTL

AFL Syntax ϕ :: = b ϕ ϕϕ Xϕ ϕ Uϕ A abort! b strongly abort A T ϕ automaton trigger

Semantics of AFL The semantics π, i A abort! b iff there is some w PreL(A) and some j i, s.t. π[i,j] = w and π, j+1 b. π, i ATϕ iff there is some j i, s.t. π[i,j] L(A) and π, j ϕ. AFL and FL have precisely the same expressiveness. Study symbolic model checking problem for AFL.

Agenda Motivations Brief Overview of Symbolic Model Checking of LTL From PSL to APSL Tableau based Model Checking of APSL BDD based Encoding of APSL Tableaux Tool and Experiments Conclusion

Elementary Formulae of AFL Given an NFA A = Σ, Q,δ, Q 0,F, we denote by A q the NFA Σ, Q,δ, {q},f. Elementary formula set of AFL formula For the formulae of b, ψ, ψ 1 ψ 2, Xψ, ψ 1 Uψ 2, their elementary formula sets are defined same as before. El(A abort! b) = El(b) {X(A q abort! b) q is a state of A}. El(A Tψ) = El(ψ) {X(A q Tψ) q is a state of A}.

Sat function of AFL formulae Sat function of abort! Sat(A q abort! b) = Sat(b) {W El(ϕ) r δ (q,w AP), s.t. X(A r abort! b) W} π, i A q abort! b iff either π, i b, or π, i X A r abort! b) for some r δ(q,π(i))

Sat function of AFL formulae Sat function of T Sat(A q Tψ) = {W Sat(ψ) δ (q,w AP) F } {W El(ϕ) r δ (q,w AP), s.t. X(A r T ψ) W} π, i A q Tψ iff either π, i ψ and δ (q, π(i)) F or π, i X A r Tψ) for some r δ (q,π(i))

Tableaux for AFL formulae Given an AFL formula ϕ, suppose that (A 1,ψ 1 ),, (A m,ψ m ) are all its trigger pairs, and A i s state set is Q i. The tableau of ϕ is a special transition system T ϕ = S ϕ, ρ ϕ, I ϕ, L ϕ, Ω ϕ S ϕ consists of tuples W,(P 1,,P m ), where W El(ϕ) and P j Q j. ( W, (P 1,,P m ), W, (P 1,,P m ) ) ρ ϕ iff For each Xψ El(ϕ), W Sat(Xψ ) iff W Sat(ψ ); For each 1 j m, ((W,P j ),(W,P j )) ρ (Aj, ψj). I ϕ = { W, (P 1,,P m ) W Sat(ϕ)}. L ϕ ( W,(P 1,,P m ) ) = W AP.

Trigger Pair / Transition Given an AFL formula ϕ, we say that (A, ψ) is a trigger pair in ϕ, if there is some q, such that A q Tψ is a subformula of ϕ. Assuming A = 2 AP,Q, δ, Q 0,F, the trigger pair (A,ψ) of ϕ derives a trigger transition relation ρ (A,ψ) (2 El(ϕ) 2 Q ) 2 such that (W 1,Q 1,W 2, Q 2 ) ρ (A,ψ) iff If Q 1 =, then Q 2 = {q W 2 Sat(A q Tψ)}. If Q 1, then for each q Q 1, either W 1 Sat(ψ) and δ (q, W 1 AP) F or there is some q Q 2, s.t. q δ (q, W 1 AP)

Trigger Transition Relation For each trigger pair (A, ψ) and each state q of A, and each s Sat (Aq Tψ ), a fair path starting from s must satisfy A q Tψ

Fairness Constraints Ω ϕ consists of three parts: For each subformula ψ 1 Uψ 2, create a fairness constraint { W, (P 1,,P m ) W Sat(ψ 2 ) or W Sat(ψ 1 Uψ 2 )}. For each subformula A q abort! b, create a fairness constraint { W, (P 1,,P m ) W Sat(b) or W r Q Sat(A r abort! b )}. For each trigger pair (A i,ψ i ), create a fairness constraint { W, (P 1,,P m ) P i = }.

AFL Model Checking Theorem (Language Property of AFL tableaux): For each π (2 AP ) ω, π ϕ iff π L(T ϕ ) AFL model checking problem is converted to that of CTL. M ϕ iff (M T ϕ ) does not satisfy EG true

Agenda Motivations Brief Overview of Symbolic Model Checking of LTL From PSL to APSL Tableau based Model Checking of APSL BDD based Encoding of APSL Tableaux Tool and Experiments Conclusion

BDD Encoding With the BDD based technique, product of two transition systems can be naturally implemented. BDD encoding of the original model can be acquired from the users input. How to obtain the encoding of an AFL formula s tableau.

BDD Encoding Given an AFL formula ϕ with trigger pairs (A 1,ψ 1 ),,(A m,ψ m ) and the state set of A i is Q i. Recall that a state in the tableau is a tuple W,(P 1, P m ), where W El(ϕ) and P j Q j. Then: For each ψ El(ϕ), create a Boolean variable u ψ. For each 1 i m and each q Q i, create a Boolean variable v (i,q). For each subformula ψ of ϕ, we may build a Boolean formula f ψ, which characterizes Sat(ψ).

BDD Encoding The symbolic encoding of transition relation is the conjunction of the following issues: For each Xψ El(ϕ), add a conjuct u Xψ f ψ. For each 1 i m, employ the following two conjuncts and q Q i (v (i,q) (f ψ Γ AP F i δ i (q,γ) f Γ ) ( (f Γ If Q 1 =, then Q 2 = {q Γ AP W 2 Sat(A q δ q i (q,γ) Tψ)} where f Γ is the abbreviation of. v (i,q ) )))

BDD Encoding For each subformula ψ 1 Uψ 2,we add a fairness constraint encoding f ψ 1Uψ2 f ψ 2. For each subformula A q abort! b with A = Σ, Q,δ, Q 0,F, we add the fairness constraint encoding. For each trigger pair (A i,ψ i ), we create the fairness constraint encoding q Qi v (i,q).

Agenda Motivations Brief Overview of Symbolic Model Checking of LTL From PSL to APSL Tableau based Model Checking of APSL BDD based Encoding of APSL Tableaux Tool and Experiments Conclusion

Tool Support From NuSMV to ENuSMV NuSMV is a symbolic model checking tool by CMU/ ict-irst, and it supports both CTL and LTL model checking. The extended version of SMV is adapted from NuSMV Ver 2.4.3. ENuSMV Ver 1.0 support ETL model checking, and Ver 1.1 support APSL. Available at http:// enusmv.sourceforge.net

Automata Constructs Defining Automata constructs in ENuSMV a 1 a 2 q 1 q 2 a 1 CONNECTIVE A(a 1,a 2 ) STATES: > q 1, q 2 < TRANSITIONS(q 1 ) case a 1 : {q 1,q 2 }; a 2 : q 2 ; esac;

Philosopher Dining Feasibility: each philosopher can possibly have a meal. Liveness: it is possible for a philosopher to eat infinitely many times. Machine Specification CPU: Intel Core Duo2 (2.66GHz) Memory-size: 2G

Philosopher Dining Feasibility # states #time (sec.) #philosophers CTL AFL CTL LTL AFL 6 1135 2270 0.020 0.046 0.046 7 3545 7090 0.037 0.122 0.124 8 11395 22790 0.070 0.310 0.311

Philosopher Dining Liveness # states #time (sec.) #philosopher CTL AFL CTL LTL AFL 6 1135 4412 0.021 0.040 0.046 7 3545 14180 0.0367 0.073 0.074 8 11395 45580 0.070 0.150 0.149

Verification of Non-star-free Properties Consider the model of accumulative carry circuit, which is a synchronous circuit composed a set of modulo 2 counters. These counters are connected in a series manner the first counter s input is set to 1, and the (i+1)-th counter s input is connected to the i-th counter s output.

Accumulative Carry Circuit MOUDLE counter(carry_in) VAR value: boolean; pre_value: boolean; ASSIGN init(value):=0; init(pre_value) :=0; next(pre_value) :=value; next(value) := (value +carry_in) mod 2; DEFINE carry_out := (pre_value & carray_in);

Accumulative Carry Circuit bit_0: counter(1); bit_i+1: counter(bit_i.output); bit_n: counter(bit_n-1.output);

Accumulative Carry Circuit Consider the following properties: Periodicity: bit_0 carries out at each odd moment. Monitoring: once the waveform matches the pattern true;(bit_0.carry_out) *, then the signal bit_1.carry_out would raise in the next two steps. None of the above properties is star-free. Cannot be verified with the previous NuSMV.

Accumulative Carry Circuit Periodicity Monitoring #bits # states #time #bits # states #time 7 66560 0.011 7 8320 0.009 8 132096 0.012 8 16512 0.011 9 263168 0.019 9 32896 0.018 10 525312 0.024 10 65664 0.021

Other Experiments To test the scalability, we have done DME (Distributed Mutual Exclusive) circuit experiment. Results show that ENuSMV can handle models with more than 5 10 21 reachable states. The experiment on security policy of SE-Linux shows that ENuSMV can handle a model larger than 120,000 lines. Notably, for the same property, AFL model checking sometimes has a better performance than that of LTL, especially when the connective nesting depth is large.

Agenda Motivations Brief Overview of Symbolic Model Checking of LTL From PSL to APSL Tableau based Model Checking of APSL BDD based Encoding of APSL Tableaux Tool and Experiments Conclusion

Conclusion We have presented a variant of PSL, namely APSL, which has precisely the same expressive power as omega-regular expression. We extended the BDD-based symbolic model checking algorithm to that of APSL. A symbolic model checker supporting APSL is designed and implemented based on NuSMV.

Thank you. Questions and Comments?