Automatic Verification of Finite State Concurrent Systems
|
|
- Clinton Sullivan
- 5 years ago
- Views:
Transcription
1 Automatic Verification of Finite State Concurrent Systems Edmund M Clarke, Jr Computer Science Department Carnegie Mellon University Pittsburgh, PA 523
2 Temporal Logic Model Checking Specification Language: A propositional temporal logic Verification Procedure: Exhaustive search of the state space of the concurrent system to determine truth of specification E M Clarke and E A Emerson Synthesis of synchronization skeletons for branching time temporal logic In Logic of programs: workshop, Yorktown Heights, NY, May 98, volume 3 of Lecture Notes in Computer Science Springer-Verlag, 98 JP Quielle and J Sifakis Specification and verification of concurrent systems in CESAR In Proceedings of the Fifth International Symposium in Programming, volume 37 of Lecture Notes in Computer Science Springer-Verlag, 98 2
3 Why Model Checking? Advantages: No proofs!!! Fast Counterexamples No problem with partial specifications Logics can easily express many concurrency properties Main Disadvantage: State Explosion Problem Too many processes Data Paths Much progress recently!! 3
4 Outline of Talk Temporal Logic (CTL, CTL, and LTL) 2 Model Checking Problem 3 Some Notable Successes 4 Symbolic Model Checking with Binary Decision Diagrams 5 Tomorrow: Symbolic Model Checking without Binary Decision Diagrams 6 Directions for Future Research 4
5 Temporal Logic a b State Transition Graph or Kripke Model b c c a b b c c a b c c Infinite Computation Tree (Unwind State Graph to obtain Infinite Tree) 5
6 Computation Tree Logics Let be a Kripke Structure, and let be the transition relation for A path is an infinite sequence of states such that for every, Path quantifier: A for every path E there exists a path 2 Temporal Operator: X holds next time F holds sometime in the future G holds globally in the future U holds until holds 6
7 The Logic CTL! Two types of formulas in CTL" : A state formula is either # $, if $ is an atomic proposition, or # %'&, & ( ), or & * ) where & and ) are state formulas, or # E & or A & where & is a path formula 2 A path formula is either # A state formula, or # %'&, & ( ), & * ), X &, F &, G &, or & U ) where & and ) are path formulas 7
8 The Logics CTL and LTL In CTL each of the linear-time operators +,,, -, and U must be immediately preceded by a path quantifier Example: AG EF / In Linear temporal logic (LTL) formulas have the form A 2 where 2 is a path formula in which the only state subformulas are atomic propositions Example: A FG/ 8
9 The Meaning of Path Quantifiers Let 3 be a Kripke structure, 465 be a state of 3, and 7 be a path formula, then 8 3 9:4 5 ;< E7 if and only if there exist a path = starting at 4 5, such that 3 9>= ;< :4 5 ;< A7 if and only if for all paths = starting at 4 5, we have 3 9>= ;< 7 9
10 Expressive Power It can be shown that the three logics CTL*, CTL, and LTL have different expressive powers For example, there is no CTL formula that is equivalent to the LTL formula A? Likewise, there is no LTL formula that is equivalent to the CTL formula AG? The disjunction A? AG? is a CTLE formula that is not expressible in either CTL or LTL
11 Basic CTL Operators This lecture will deal primarily with CTL The four most widely used CTL operators are illustrated below Each computation tree has the state F G as its root g g g g H I FG JK EF L H I FG JK AF L g g g g g g g g g g H I FG JK EG L H I FG JK AG L
12 Typical CTLM formulas N EFOPRQSUTVQWYX Z ['\ WYS]X_^a` : it is possible to get to a state where Started holds but Ready does not hold N AGOb\ W6c d AF e fhgi` : if a Request occurs, then it will be eventually Acknowledged N AGO AF j Wk]lfhWYm nos]p qrw6xs` : DeviceEnabled holds infinitely often on every computation path N AGO EF \ WYt6QSUTVQ` : from any state it is possible to get to the Restart state N AO GF m nossphqw6x d GF m uvw6fxwyqw6xs` : if a process is infinitely-often Enabled, then it is infinitely-often Executed Note that the first four formulas are CTL formulas The last is an LTL formula, not expressible in CTL 2
13 2 Model Checking Problem Let z be the state transition graph obtained from the concurrent system Let { be the specification expressed in temporal logic Find all states of z such that z } ~ {v Efficient model checking algorithms exist for CTL E M Clarke, E A Emerson, and A P Sistla Automatic verification of finite-state concurrent systems using temporal logic specifications ACM Trans Programming Languages and Systems, 8(2):pages , 986 3
14 The EMC System Preprocessor Model Checker (EMC) CTL formulas State Transition Graph 4 to 5 states True or Counterexample 4
15 H Hiraishi (Kyoto University) Vectorized version of EMC algorithm on Fujitsu FACOM VP4E Vector Processor using an explicit representation of the state transition graph State Machine size: 3,72 states 67,8,864 transitions 52 transitions from each state on the average CTL formula: 3 different subformulas Time for model checking: 225 seconds!! 5
16 3 Notable Examples The following examples illustrate the power of model checking to handle industrial size problems They come from many sources, not just my research group ƒ Edmund M Clarke, Jeannette M Wing, et al Formal methods: State of the art and future directions ACM Computing Surveys, 28(4): , December 996 6
17 Notable Examples IEEE Futurebus In 992 Clarke and his students at CMU used SMV to verify the cache coherence protocol in the IEEE Futurebus+ Standard They constructed a precise model of the protocol and attempted to show that it satisfied a formal specification of cache coherence They found a number of previously undetected errors in the design of the protocol This was the first time that formal methods have been used to find errors in an IEEE standard Although development started in 988, all previous attempts to validate Futurebus+ were based on informal techniques 7
18 Notable Examples IEEE SCI In 992 Dill and his students at Stanford used Mur to verify the cache coherence protocol of the IEEE Scalable Coherent Interface They modeled a typical configuration using the C code in the definition of the SCI standard Since the number of states of the model was very large, they verified only small instances of the system Nevertheless, they found several errors, ranging from uninitialized variables to subtle logical errors The errors also existed in the complete protocol, although it had been extensively discussed, simulated, and even implemented 8
19 Notable Examples HDLC ˆ A High-level Data Link Controller (HDLC) was being designed at AT&T in Madrid ˆ In 996 researchers at Bell Labs offered to check some properties of the design The design was almost finished, so no errors were expected ˆ Within five hours, six properties were specified and five were verified, using the FormalCheck verifier ˆ The sixth property failed, uncovering a bug that would have reduced throughput or caused lost transmissions ˆ The error was corrected in a few minutes and formally verified 9
20 Notable Examples Analog Circuits In 994, Bosscher, Polak, and Vaandrager won a best-paper award for proving manually the correctness of a control protocol used in Philips stereo components In 995, Ho and Wong-Toi verified an abstraction of this protocol automatically using HyTech Later in 995, Daws and Yovine used Kronos to check automatically all the properties stated and hand proved by Bosscher et al In 996, Bengtsson, et al model checked the entire protocol Two years earlier this was considered out of reach for algorithmic methods 2
21 Notable Examples ISDN/ISUP Š The NewCoRe Project (89-92) was the first full-scale application of formal verification methods in a software project within AT&T Š Formal modeling and automated verification were applied to the development of the CCITT ISDN User Part Procotol Š A team of five verification engineers formalized and analyzed 45 requirements using a special-purpose model checker Š A total of 7,5 lines of SDL source code was verified Š 2 errors were found; about 55% of the original design requirements were logically inconsistent 2
22 Notable Examples Buildings In 995 the Concurrency Workbench was used to analyze an active structural control system to make buildings more resistant to earthquakes The control system sampled the forces applied to the structure and used hydraulic actuators to exert countervailing forces The first model had more than Œ: _Ž states and was not directly analyzable By using semantic minimization it was possible to derive a much smaller model A timing error was discovered that could have caused the controller to worsen, rather than dampen, the vibration experienced during earthquakes 22
23 4 Symbolic Model Checking with BDDs Ken McMillan implemented a version of the CTL model checking algorithm using Binary Decision Diagrams in the fall of 987 Now able to handle much larger concurrent systems some with more than : reachable states!! J R Burch, E M Clarke, K L McMillan, D L Dill, and J Hwang Symbolic model checking: x states and beyond Information and Computation, 98(2):pages 42 7, 992 K L McMillan Symbolic Model Checking Kluwer Academic Publishers,
24 Fixpoint Algorithms EF š EX EF p p 24
25 Fixpoint Algorithms (cont) Key properties of EFœ : EFœ œ ž EX EF œ 2 Ÿ œ ž EX Ÿ implies EFœ Ÿ We write EFœ Lfp Ÿ œ ž EX Ÿ How to compute EF œ : œ ž œ ž Ÿ œ ž Ÿ Ÿ False Ÿ EX Ÿ ŸR EX Ÿ EX 25
26 ªa«EF? p s 26
27 a± ²³ EF? p s µ ¹ EX µ º 27
28 »¼a½ ¾ EF À? p s ÁRÂÄÃ Å Æ EX Á Ç 28
29 ÈÉaÊ ËÌ EF Í? p s Î Ï Ð Ñ Ò EX ÎRÓ 29
30 Ù Ü Ü Ù Ordered Binary Decision Trees and Diagrams Ordered Binary Decision Tree for the two-bit comparator, given by the formula ÔRÕbÖØ ÖÛÚ ÙÜ Ù:Ü ÚÞÝ ß is shown in the figure below: ÕbÖà á âýdã ÕbÖäÚåá ÚæÝ a b b aa aa aa a a b b b b b b b b 2 b 2 2 b 2 2 b 2 2 b 2 3
31 From Binary Decision Trees to Diagrams An Ordered Binary Decision Diagram (OBDD) is an ordered decision tree where ç All isomorphic subtrees are combined, and ç All nodes with isomorphic children are eliminated Given a parameter ordering, OBDD is unique up to isomorphism ç R E Bryant Graph-based algorithms for boolean function manipulation IEEE Transactions on Computers, C-35(8):677 69, 986 3
32 OBDD for Comparator Example If we use the ordering èêé ë ìíé ë èûîåë ìî for the comparator function, we obtain the OBDD below: a b b a 2 b b
33 Variable Ordering Problem The size of an OBDD depends critically on the variable ordering If we use the ordering ïêð ñ ïäòåñ óð ñ óò for the comparator function, we get the OBDD below: a a 2 a 22 b b b b b b
34 Variable Ordering Problem (Cont) ô õ ø þ ÿ õ ø ø ý ÿ ü For an -bit comparator: if we use the ordering öê ùø ú ø ûíûûø ö_ü úxü, the number of vertices will be ýô if we use the ordering öê ùø ûûû number of vertices is ö_ü ú ûûûiø ú:ü, the In general, finding an optimal ordering is known to be NP-complete Moreover, there are boolean functions that have exponential size OBDDs for any variable ordering An example is the middle output (ô circuit to multiply two ô bit integers output) of a combinational 34
35 Logical operations on OBDD s Logical negation: Replace each leaf by its negation Logical conjunction: Use Shannon s expansion as follows, #$ % &!" #" ('*) + #$,'*) + - #" (' + #$,' + to break problem into two subproblems Solve subproblems recursively Always combine isomorphic subtrees and eliminate redundant nodes Hash table stores previously computed subproblems Number of subproblems bounded by ' ('/#',' 35
36 2 Logical operations (cont) Boolean quantification: 3 4 By definition, :9;9<= 3>4 576? 6A@*B CED 6A@ C 6F84 9:9;9<"=!@ C B : replace all 4 nodes by left sub-tree 6F84 9:9;9<"=!@ C : replace all 4 nodes by right sub-tree Using the above operations, we can build up OBDD s for complex boolean functions from simpler ones 36
37 Symbolic Model Checking Algorithm How to represent state-transition graphs with Ordered Binary Decision Diagrams: Assume that system behavior is determined by G variables H"IKJLHNMJPOPO$OQJRHTS boolean state The Transition relation U will be given as a boolean formula in terms of the state variables: U VWHIJPOXOPOYJLHTSZJLH[I JPOPOPOYJRH[ S\ where H"IKJPO$OPOLHTS represents the current state and H [I JPOPO$OQJRH [ S represents the next state Now convert U to a OBDD!! 37
38 Symbolic Model Checking (cont) Representing transition relations symbolically: a a, b Boolean formula for transition relation: ]^ _ `ab_ ^NcT_ adcfeg ]^ _ ab_ ^hct_ acfeg ]^ _ ab_ ^NcT_ `bacfe Now, represent as an OBDD! 38
39 j Symbolic Model Checking (cont) Consider i j EX k Now, introduce state variables and transition relation: iflnm oqp rqm o"sutwv lnm ox o"sfpy m k,lnm o"szp { Compute OBDD for relational product on right side of formula 39
40 ƒ Symbolic Model Checking (cont) How to evaluate fixpoint formulas using OBDDs: Introduce state variables: EF } ~ Lfp } ƒ EX EF } ~ Lfp }Y n ˆ Q "ŠŒ Ž n "Š ˆ n "Š ˆ Now, compute the sequence E n ˆL A n ˆL $ n qˆl P P until convergence Convergence can be detected since the sets of states ( n qˆ represented as OBDDs are 4
41 Future Research Integrate abstraction and compositional reasoning techniques into current verification systems Continue research on the use of symmetry to reason about complex systems Develop methods for verifying parameterized designs Investigate the use of induction with model checking techniques Develop practical tools for reasoning about realtime and hybrid systems Combine model checking techniques with deductive approaches to verification so that control and data can both be handled Develop tool interfaces that are suitable for system designers 4
Lecture1: Symbolic Model Checking with BDDs. Edmund M. Clarke, Jr. Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213
Lecture: Symbolic Model Checking with BDDs Edmund M Clarke, Jr Computer Science Department Carnegie Mellon University Pittsburgh, PA 523 Temporal Logic Model Checking Specification Language: A propositional
More informationSérgio Campos, Edmund Clarke
Sérgio Campos, Edmund 1 / 23 Model checking is a technique that relies on building a finite model of a system and checking that a desired property holds in that model. The check is performed by an exhaustive
More informationModel Checking. Dragana Cvijanovic
Model Checking Dragana Cvijanovic d.cvijanovic@cs.ucl.ac.uk 1 Introduction Computerised systems pervade more and more our everyday lives. Digital technology is now used to supervise critical functions
More informationModel Checking I Binary Decision Diagrams
/42 Model Checking I Binary Decision Diagrams Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 523 2/42 Binary Decision Diagrams Ordered binary decision diagrams
More informationVerifying IP-Core based System-On-Chip Designs
Verifying IP-Core based System-On-Chip Designs Pankaj Chauhan, Edmund M. Clarke, Yuan Lu and Dong Wang Carnegie Mellon University, Pittsburgh, PA 15213 fpchauhan, emc, yuanlu, dongwg+@cs.cmu.edu April
More informationLecture 1: Model Checking. Edmund Clarke School of Computer Science Carnegie Mellon University
Lecture 1: Model Checking Edmund Clarke School of Computer Science Carnegie Mellon University 1 Cost of Software Errors June 2002 Software bugs, or errors, are so prevalent and so detrimental that they
More informationTutorial on Model Checking Modelling and Verification in Computer Science
Tutorial on Model Checking Modelling and Verification in Computer Science Armin Biere Institute for Formal Models and Verification Johannes Kepler University, Linz, Austria Abstract. This paper serves
More informationDouble Header. Two Lectures. Flying Boxes. Some Key Players: Model Checking Software Model Checking SLAM and BLAST
Model Checking #1 Double Header Two Lectures Model Checking Software Model Checking SLAM and BLAST Flying Boxes It is traditional to describe this stuff (especially SLAM and BLAST) with high-gloss animation
More informationBehavior models and verification Lecture 6
Behavior models and verification Lecture 6 http://d3s.mff.cuni.cz Jan Kofroň, František Plášil Model checking For a Kripke structure M = (S, I, R, L) over AP and a (state based) temporal logic formula
More informationSystem Correctness. EEC 421/521: Software Engineering. System Correctness. The Problem at Hand. A system is correct when it meets its requirements
System Correctness EEC 421/521: Software Engineering A Whirlwind Intro to Software Model Checking A system is correct when it meets its requirements a design without requirements cannot be right or wrong,
More informationFormal Verification by Model Checking
Formal Verication by Model Checking Jonathan Aldrich Carnegie Mellon University Based on slides developed by Natasha Sharygina 17-654/17-754: Analysis of Software Artacts Spring 2006 1 CTL Model Checking
More informationLinear Temporal Logic. Model Checking and. Based on slides developed by Natasha Sharygina. Carnegie Mellon University.
Model Checking and Linear Temporal Logic Jonathan Aldrich Carnegie Mellon University Based on slides developed by Natasha Sharygina 17-654: Analysis of Software Artifacts 1 Formal Verification by Model
More informationBinary Decision Diagrams and Symbolic Model Checking
Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of
More informationLecture 2: Symbolic Model Checking With SAT
Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.
More informationIlllll~~ iII! 075l
AD-A259 Illlll~~ 111111111iII! 075l Verification of the Futurebus+ Cache Coherence Protocol E. Clarke 1 0. Grumberg 2 H. Hiraishi 3 S. Jha 1 D. Long' K. McMillan' L. Ness 4 October 1992 CMU-CS-92-206 School
More informationOverview. Discrete Event Systems - Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?
Computer Engineering and Networks Overview Discrete Event Systems - Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two
More informationCS 267: Automated Verification. Lecture 13: Bounded Model Checking. Instructor: Tevfik Bultan
CS 267: Automated Verification Lecture 13: Bounded Model Checking Instructor: Tevfik Bultan Remember Symbolic Model Checking Represent sets of states and the transition relation as Boolean logic formulas
More informationModel Checking: Back and Forth Between Hardware and Software
Model Checking: Back and Forth Between Hardware and Software Edmund Clarke 1, Anubhav Gupta 1, Himanshu Jain 1, and Helmut Veith 2 1 School of Computer Science, Carnegie Mellon University {emc, anubhav,
More informationLecture 5 C Programming Language
Lecture 5 C Programming Language Summary of Lecture 5 Pointers Pointers and Arrays Function arguments Dynamic memory allocation Pointers to functions 2D arrays Addresses and Pointers Every object in the
More informationCOMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University
Eugene Syriani Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science McGill University 1 OVERVIEW In the context In Theory: Timed Automata The language: Definitions and Semantics
More informationModel Checking VHDL with CV
Model Checking VHDL with CV David Déharbe 1, Subash Shankar 2, and Edmund M. Clarke 2 1 Universidade Federal do Rio Grande do Norte, Natal, Brazil david@dimap.ufrn.br 2 Carnegie Mellon University, Pittsburgh,
More informationSpecification and Analysis of Real-Time Systems Using Real-Time Maude
Specification and Analysis of Real-Time Systems Using Real-Time Maude Peter Csaba Ölveczky1,2 and José Meseguer 1 1 Department of Computer Science, University of Illinois at Urbana-Champaign 2 Department
More informationAutomatic verification of deontic interpreted systems by model checking via OBDD s
Automatic verification of deontic interpreted systems by model checking via OBDD s Franco Raimondi ½ and Alessio Lomuscio ½ Abstract. We present an algorithm for the verification of multiagent systems
More informationCSC2108: Automated Verification Assignment 1 - Solutions
8 CSC218: Automated Verification Assignment 1 - Solutions 1. Solve the following problem: Use the definition of between states and CTL formulas to explain why means that is true infinitely often along
More informationScenario Graphs Applied to Security (Summary Paper)
Book Title Book Editors IOS Press, 2003 1 Scenario Graphs Applied to Security (Summary Paper) Jeannette M. Wing Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213 US Abstract.
More informationResearch Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001
Research Collection Other Conference Item Formal background and algorithms Author(s): Biere, Armin Publication Date: 2001 Permanent Link: https://doi.org/10.3929/ethz-a-004239730 Rights / License: In Copyright
More informationPointers. CS2023 Winter 2004
Pointers CS2023 Winter 2004 Outcomes: Introduction to Pointers C for Java Programmers, Chapter 8, sections 8.1-8.8 Other textbooks on C on reserve After the conclusion of this section you should be able
More informationAction Language Verifier, Extended
Action Language Verifier, Extended Tuba Yavuz-Kahveci 1, Constantinos Bartzis 2, and Tevfik Bultan 3 1 University of Florida 2 Carnegie Mellon University 3 UC, Santa Barbara 1 Introduction Action Language
More informationApplication of Propositional Logic II - How to Test/Verify my C program? Moonzoo Kim
Application of Propositional Logic II - How to Test/Verify my C program? Moonzoo Kim 2 Solving Various Problems using SAT Solver Sudoku Puzzle Encoding 1 Encoding 2 Verify/Testing C Programs Encoding 3
More informationFormal Verification Techniques for Digital Systems
&CHAPTER 1 Formal Verification Techniques for Digital Systems MASAHIRO FUJITA, SATOSHI KOMATSU, and HIROSHI SAITO University of Tokyo, Japan 1.1 INTRODUCTION In deep submicron technology, a large and complex
More informationFinite State Verification. CSCE Lecture 14-02/25/2016
Finite State Verification CSCE 747 - Lecture 14-02/25/2016 So, You Want to Perform Verification... You have a property that you want your program to obey. Great! Let s write some tests! Does testing guarantee
More informationFinite State Verification. CSCE Lecture 21-03/28/2017
Finite State Verification CSCE 747 - Lecture 21-03/28/2017 So, You Want to Perform Verification... You have a property that you want your program to obey. Great! Let s write some tests! Does testing guarantee
More informationSymbolic Model Checking
Bug Catching 5-398 Symbolic Model Checking Hao Zheng Dept. of Computer Science & Eng. Univ. of South Florida Overview CTL model checking operates on sets. Calculates the fix points over finite state sets.
More informationCombining Decision Diagrams and SAT Procedures for Efficient Symbolic Model Checking
Combining Decision Diagrams and SAT Procedures for Efficient Symbolic Model Checking Poul F. Williams 1, Armin Biere 2, Edmund M. Clarke 3, and Anubhav Gupta 3 1 Department of Information Technology, Technical
More informationMotivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees
Motivation CS389L: Automated Logical Reasoning Lecture 5: Binary Decision Diagrams Işıl Dillig Previous lectures: How to determine satisfiability of propositional formulas Sometimes need to efficiently
More informationAPPLESHARE PC UPDATE INTERNATIONAL SUPPORT IN APPLESHARE PC
APPLESHARE PC UPDATE INTERNATIONAL SUPPORT IN APPLESHARE PC This update to the AppleShare PC User's Guide discusses AppleShare PC support for the use of international character sets, paper sizes, and date
More informationBinary Decision Diagrams
5-44 Bug Catching: Automated Program Verification and Testing based on slides by SagarChaki 2 Carnegie Mellon University BDDs in a nutshell Typically mean Reduced Ordered (ROBDDs) Canonical representation
More informationAshish Sabharwal Computer Science and Engineering University of Washington, Box Seattle, Washington
MODEL CHECKING: TWO DECADES OF NOVEL TECHNIQUES AND TRENDS PHD GENERAL EXAM REPORT Ashish Sabharwal Computer Science and Engineering University of Washington, Box 352350 Seattle, Washington 98195-2350
More information38050 Povo (Trento), Italy Tel.: Fax: e mail: url:
CENTRO PER LA RICERCA SCIENTIFICA E TECNOLOGICA 38050 Povo (Trento), Italy Tel.: +39 061 31312 Fax: +39 061 30200 e mail: prdoc@itc.it url: http://www.itc.it SYMBOLIC MODEL CHECKING FOR MULTI AGENT SYSTEMS
More information38050 Povo (Trento), Italy Tel.: Fax: e mail: url:
CENTRO PER LA RICERCA SCIENTIFICA E TECNOLOGICA 38050 Povo (Trento), Italy Tel.: +39 0461 314312 Fax: +39 0461 302040 e mail: prdoc@itc.it url: http://www.itc.it PLANNING AS MODEL CHECKING FOR EXTENDED
More informationEECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley
EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley Boolean Function Representations Syntactic: e.g.: CNF, DNF (SOP), Circuit Semantic: e.g.: Truth table, Binary
More informationA Case Study for CTL Model Update
A Case Study for CTL Model Update Yulin Ding and Yan Zhang School of Computing & Information Technology University of Western Sydney Kingswood, N.S.W. 1797, Australia email: {yding,yan}@cit.uws.edu.au
More informationGuided Symbolic Universal Planning
Guided Symbolic Universal Planning Rune M. Jensen, Manuela M. Veloso and Randal E. Bryant Computer Science Department,Carnegie Mellon University, Forbes Avenue, Pittsburgh,PA 1213-3891, USA runej,mmv,bryant
More informationPointers & Arrays. CS2023 Winter 2004
Pointers & Arrays CS2023 Winter 2004 Outcomes: Pointers & Arrays C for Java Programmers, Chapter 8, section 8.12, and Chapter 10, section 10.2 Other textbooks on C on reserve After the conclusion of this
More informationModel Checking Revision: Model Checking for Infinite Systems Revision: Traffic Light Controller (TLC) Revision: 1.12
Model Checking mc Revision:.2 Model Checking for Infinite Systems mc 2 Revision:.2 check algorithmically temporal / sequential properties fixpoint algorithms with symbolic representations: systems are
More informationBinary Decision Diagrams
Logic and roof Hilary 2016 James Worrell Binary Decision Diagrams A propositional formula is determined up to logical equivalence by its truth table. If the formula has n variables then its truth table
More informationMore on Verification and Model Checking
More on Verification and Model Checking Wednesday Oct 07, 2015 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/60 Course fair! 2/60 Exam st October 21, 8:00 13:00 If you want to participate,
More informationPersonal Conference Manager (PCM)
Chapter 3-Basic Operation Personal Conference Manager (PCM) Guidelines The Personal Conference Manager (PCM) interface enables the conference chairperson to control various conference features using his/her
More informationBoolean Representations and Combinatorial Equivalence
Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving
More informationIntroduction to SMV. Arie Gurfinkel (SEI/CMU) based on material by Prof. Clarke and others Carnegie Mellon University
Introduction to SMV Arie Gurfinkel (SEI/CMU) based on material by Prof. Clarke and others 2 Carnegie Mellon University Symbolic Model Verifier (SMV) Ken McMillan, Symbolic Model Checking: An Approach to
More informationUtilizing Static Analysis for Programmable Logic Controllers
Sébastien Bornot Ralf Huuck Ben Lukoschus Lehrstuhl für Softwaretechnologie Universität Kiel Preußerstraße 1 9, D-24105 Kiel, Germany seb rhu bls @informatik.uni-kiel.de Yassine Lakhnech Verimag Centre
More informationModel Checking with Automata An Overview
Model Checking with Automata An Overview Vanessa D Carson Control and Dynamical Systems, Caltech Doyle Group Presentation, 05/02/2008 VC 1 Contents Motivation Overview Software Verification Techniques
More informationModel checking Timber program. Paweł Pietrzak
Model checking Timber program Paweł Pietrzak 1 Outline Background on model checking (spam?) The SPIN model checker An exercise in SPIN - model checking Timber Deriving finite models from Timber programs
More informationThe Verus Language: Representing Time efficiently with BDDs 1
The Verus Language: Representing Time efficiently with BDDs 1 Sérgio Campos and Edmund Clarke Carnegie Mellon University campos@cs.cmu.edu and emc@cs.cmu.edu Abstract. There have been significant advances
More informationCombining Symbolic Model Checking with Uninterpreted Functions for Out-of-Order Processor Verification?
Combining Symbolic Model Checking with Uninterpreted Functions for Out-of-Order Processor Verification? Sergey Berezin, Armin Biere, Edmund Clarke, and Yunshan Zhu Computer Science Department, Carnegie
More informationCartons (PCCs) Management
Final Report Project code: 2015 EE04 Post-Consumer Tetra Pak Cartons (PCCs) Management Prepared for Tetra Pak India Pvt. Ltd. Post Consumer Tetra Pak Cartons (PCCs) Management! " # $ " $ % & ' ( ) * +,
More informationPropositional Calculus. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus
More informationThis file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version 3.0.
Range: This file contains an excerpt from the character code tables and list of character names for The Unicode Standard, Version.. isclaimer The shapes of the reference glyphs used in these code charts
More informationEfficiency versus Convergence of Boolean Kernels for On-Line Learning Algorithms
Efficiency versus Convergence of Boolean Kernels for On-Line Learning Algorithms Roni Khardon Tufts University Medford, MA 02155 roni@eecs.tufts.edu Dan Roth University of Illinois Urbana, IL 61801 danr@cs.uiuc.edu
More informationProbabilistic analysis of algorithms: What s it good for?
Probabilistic analysis of algorithms: What s it good for? Conrado Martínez Univ. Politècnica de Catalunya, Spain February 2008 The goal Given some algorithm taking inputs from some set Á, we would like
More informationModules. CS2023 Winter 2004
Modules CS2023 Winter 2004 Outcomes: Modules C for Java Programmers, Chapter 7, sections 7.4.1-7.4.6 Code Complete, Chapter 6 After the conclusion of this section you should be able to Understand why modules
More informationProgram verification. Generalities about software Verification Model Checking. September 20, 2016
Program verification Generalities about software Verification Model Checking Laure Gonnord David Monniaux September 20, 2016 1 / 43 The teaching staff Laure Gonnord, associate professor, LIP laboratory,
More informationModel-Checking Concurrent Systems. The Model Checker Spin. The Model Checker Spin. Wolfgang Schreiner
Model-Checking Concurrent Systems Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at 1.
More informationNuSMV Hands-on introduction
NuSMV Hands-on introduction F. Mallet fmallet@unice.fr Université Nice Sophia Antipolis NuSMV 1 was an extension of SMV NuSMV 2 SMV : first BDD-based symbolic model-checker [McMillan, 90] NuSMV 2 Combines
More informationLinear-Time Model Checking: Automata Theory in Practice
Linear-Time Model Checking: Automata Theory in Practice (Extended Abstract of an Invited Talk) Moshe Y. Vardi Rice University, Department of Computer Science, Houston, TX 77251-1892, U.S.A. vardi@cs.rice.edu
More informationA Simple Tutorial on NuSMV
NuSMV-tutorial 1 A Simple Tutorial on NuSMV Chenyi Zhang March 28, 2007 For a comprehensive tutorial, please visit the site http://nusmv.irst.itc.it/ NuSMV-tutorial 2 Introduction History SMV is the first
More informationSymbolic Trajectory Evaluation - A Survey
Automated Verification Symbolic Trajectory Evaluation - A Survey by Mihaela Gheorghiu Department of Computer Science University of Toronto Instructor: Prof. Marsha Chechik January 3, 24 Motivation Simulation
More informationERNST. Environment for Redaction of News Sub-Titles
ERNST Environment for Redaction of News Sub-Titles Introduction ERNST (Environment for Redaction of News Sub-Titles) is a software intended for preparation, airing and sequencing subtitles for news or
More informationPropositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson
Propositional Calculus: Boolean Algebra and Simplification CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Topics Motivation: Simplifying Conditional Expressions
More informationAdvanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay
Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Lecture 40 VLSI Design Verification: An Introduction Hello. Welcome to the advance
More informationTo provide state and district level PARCC assessment data for the administration of Grades 3-8 Math and English Language Arts.
200 West Baltimore Street Baltimore, MD 21201 410-767-0100 410-333-6442 TTY/TDD msde.maryland.gov TO: FROM: Members of the Maryland State Board of Education Jack R. Smith, Ph.D. DATE: December 8, 2015
More informationModel Checking for Autonomy Software
Model Checking for Autonomy Software Charles Pecheur RIACS / ASE Group, NASA Ames Charles Pecheur, RIACS / NASA Ames 1 Contents Model Checking for Autonomy Software Why? Autonomy software, how to verify
More information) $ G}] }O H~U. G yhpgxl. Cong
» Þ åî ïî á ë ïý þý ÿ þ ë ú ú F \ Œ Œ Ÿ Ÿ F D D D\ \ F F D F F F D D F D D D F D D D D FD D D D F D D FD F F F F F F F D D F D F F F D D D D F Ÿ Ÿ F D D Œ Ÿ D Ÿ Ÿ FŸ D c ³ ² í ë óô ò ð ¹ í ê ë Œ â ä ã
More informationBinary Decision Diagrams (BDD)
Binary Decision Diagrams (BDD) Contents Motivation for Decision diagrams Binary Decision Diagrams ROBDD Effect of Variable Ordering on BDD size BDD operations Encoding state machines Reachability Analysis
More informationTo be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 Introduction SDN research directions as outlined in IRTF RG outlines i) need for more flexibility and programmability
More informationFormal Verification. Lecture 7: Introduction to Binary Decision Diagrams (BDDs)
Formal Verification Lecture 7: Introduction to Binary Decision Diagrams (BDDs) Jacques Fleuriot jdf@inf.ac.uk Diagrams from Huth & Ryan, 2nd Ed. Recap Previously: CTL and LTL Model Checking algorithms
More informationHaving a BLAST with SLAM
Announcements Having a BLAST with SLAM Meetings -, CSCI 7, Fall 00 Moodle problems? Blog problems? Looked at the syllabus on the website? in program analysis Microsoft uses and distributes the Static Driver
More informationModel Checking. Automatic Verification Model Checking. Process A Process B. when not possible (not AI).
Sérgio Campos scampos@dcc.ufmg.br Why? Imagine the implementation of a complex hardware or software system: A 100K gate ASIC perhaps 100 concurrent modules; A flight control system dozens of concurrent
More informationTransistors NODES. Time (sec) No. of Nodes/Transistors
Binary Tree Structure for Formal Verication of Combinational ICs FATMA A. EL-LICY, and HODA S. ABDEL-ATY-ZOHDY Microelectronics System Design Laboratory Department of Electrical and Systems Engineering
More informationModel Checking Cache Coherence Protocols for Distributed File Systems
Model Checking Cache Coherence Protocols for Distributed File Systems Mandana Vaziri-Farahani 1 May 18, 1995 CMU-CS-95-156 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 19950712
More informationTHE AUSTRALIAN NATIONAL UNIVERSITY Practice Final Examination, October 2012
THE AUSTRALIAN NATIONAL UNIVERSITY Practice Final Examination, October 2012 COMP2310 / COMP6310 (Concurrent and Distributed Systems ) Writing Period: 3 hours duration Study Period: 15 minutes duration
More informationPromela and SPIN. Mads Dam Dept. Microelectronics and Information Technology Royal Institute of Technology, KTH. Promela and SPIN
Promela and SPIN Mads Dam Dept. Microelectronics and Information Technology Royal Institute of Technology, KTH Promela and SPIN Promela (Protocol Meta Language): Language for modelling discrete, event-driven
More informationEquivalence Checking of Combinational Circuits using Boolean Expression Diagrams
Equivalence Checking of Combinational Circuits using Boolean Expression Diagrams Henrik Hulgaard, Poul Frederick Williams, and Henrik Reif Andersen Abstract The combinational logic-level equivalence problem
More informationRegression Verification - a practical way to verify programs
Regression Verification - a practical way to verify programs Ofer Strichman Benny Godlin Technion, Haifa, Israel. Email: ofers@ie.technion.ac.il bgodlin@cs.technion.ac.il 1 Introduction When considering
More informationASCII Code - The extended ASCII table
ASCII Code - The extended ASCII table ASCII, stands for American Standard Code for Information Interchange. It's a 7-bit character code where every single bit represents a unique character. On this webpage
More informationVerification of Infinite-State Dynamic Systems Using Approximate Quotient Transition Systems
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL 46, NO 9, SEPTEMBER 2001 1401 Verification of Infinite-State Dynamic Systems Using Approximate Quotient Transition Systems Alongkrit Chutinan and Bruce H Krogh,
More informationFormal Methods in Software Engineering. Lecture 07
Formal Methods in Software Engineering Lecture 07 What is Temporal Logic? Objective: We describe temporal aspects of formal methods to model and specify concurrent systems and verify their correctness
More informationState of Connecticut Workers Compensation Commission
State of Connecticut Workers Compensation Commission Notice to Employees Workers Compensation Act Chapter 568 of the Connecticut General Statutes (the Workers Compensation Act) requires your employer,
More informationIntegrating Temporal Logics and Model Checking Algorithms
Integrating Temporal Logics and Model Checking Algorithms Teodor Rus and Eric Van Wyk Department of Computer Science The University of Iowa Iowa City, Iowa USA Abstract. Temporal logic and model checking
More informationConMan. A Web based Conference Manager for Asterisk. How I Managed to get Con'd into skipping my summer vacation by building this thing
ConMan A Web based Conference Manager for Asterisk -or- How I Managed to get Con'd into skipping my summer vacation by building this thing $90503&07 $:3.74889028,-47,94708 $90503&078:3.42 Sun Labs, slide
More informationModel-Checking Concurrent Systems
Model-Checking Concurrent Systems Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at Wolfgang
More informationFeature Integration from a Theory Change Perspective
Feature Integration from a Theory Change Perspective Hannah Harris and Mark Ryan University of Birmingham, Birmingham, B15 2TT, UK. http://www.cs.bham.ac.uk/ heh,mdr Abstract. Our work is concerned with
More informationThe ComFoRT Reasoning Framework
Pittsburgh, PA 15213-3890 The ComFoRT Reasoning Framework Sagar Chaki James Ivers Natasha Sharygina Kurt Wallnau Predictable Assembly from Certifiable Components Enable the development of software systems
More informationProving the Correctness of Distributed Algorithms using TLA
Proving the Correctness of Distributed Algorithms using TLA Khushboo Kanjani, khush@cs.tamu.edu, Texas A & M University 11 May 2007 Abstract This work is a summary of the Temporal Logic of Actions(TLA)
More informationOn the Analysis of Interacting Pushdown Systems
On the Analysis of Interacting Pushdown Systems Vineet Kahlon NEC Labs America, Princeton, NJ 08540, USA. ÐÓÒҹРºÓÑ Aarti Gupta NEC Labs America, Princeton, NJ 08540, USA. ÙÔØҹРºÓÑ Abstract Pushdown
More informationA Theory of Consistency for Modular Synchronous Systems
A Theory of Consistency for Modular Synchronous Systems Randal E. Bryant 1, Pankaj Chauhan 1, Edmund M. Clarke 1 and Amit Goel 2 1 Computer Science Department, Carnegie Mellon University, Pittsburgh, PA
More informationDesign/CPN ASK-CTL Manual
Design/CPN ASK-CTL Manual Version 0.9 University of Aarhus Computer Science Department Ny Munkegade, Bldg. 540 DK-8000 Aarhus C, Denmark Tel: +45 89 42 31 88 Fax: +45 89 42 32 55 1996 University of Aarhus
More informationPropositional Calculus. Math Foundations of Computer Science
Propositional Calculus Math Foundations of Computer Science Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus so that they can use it to
More informationVerification of Intelligent Software
Verification of Intelligent Software Charles Pecheur (RIACS / NASA Ames) Charles Pecheur 2003 1 Contents Model Checking for Intelligent Software Why? Intelligent software, how to verify it? What? A bird's-eye
More informationFormal Verification: Practical Exercise Model Checking with NuSMV
Formal Verification: Practical Exercise Model Checking with NuSMV Jacques Fleuriot Daniel Raggi Semester 2, 2017 This is the first non-assessed practical exercise for the Formal Verification course. You
More information