Introduction to Software Verification

Size: px
Start display at page:

Download "Introduction to Software Verification"

Transcription

1 Introduction to Software Verification Orna Grumberg Lectures Material winter

2 Lecture

3 Model Checking Automated formal verification: A different approach to formal verification

4 Model Checking [CE81,QS82] An efficient procedure that receives: A finite-state model describing a system A temporal logic formula describing a property It returns yes, if the system has the property no + Counterexample, otherwise 4

5 Building a model from a program 5

6 Back to the Mutual Exclusion Example Two processes with a joint Boolean signal sem Each process P i has a variable v i describing its state: v i := N Non critical v i := T Trying v i := C Critical

7 Mutual Exclusion Example Each process runs the following program: Atomic action P i :: while (true) { } if (v i == N) v i = T; else if (v i == T && sem) { v i = C; sem = 0; } else if (v i == C) {v i = N; sem = 1; } The full program is: P 1 P 2 Initial state: (v 1 =N, v 2 =N, sem) The execution is interleaving

8 Mutual Exclusion Example v 1 =N, v 2 =N, sem v 1 =T, v 2 =N, sem v 1 =N, v 2 =T, sem v 1 =C, v 2 =N, sem v 1 =T, v 2 =T, sem v 1 =N, v 2 =C, sem v 1 =C, v 2 =T, sem v 1 =T, v 2 =C, sem

9 v 1 =N, v 2 =N, sem T 1 v 1 =T, v 2 =N, sem v 1 =N, v 2 =T, sem C 1 v 1 =C, v 2 =N, sem v 1 =T, v 2 =T, sem v 1 =N, v 2 =C, sem C 1,T 2 v 1 =C, v 2 =T, sem v 1 =T, v 2 =C, sem We define atomic propositions: AP={C 1,C 2,T 1,T 2 ) A state is marked with T i if v i =T A state is marked with C i if v i =C

10 T 1 T 2 C 1 T 1,T 2 C 2 C 1,T 2 T 1,C 2 Property 1: AG (C 1 C 2 ) Property 2: AG((T 1 FC 1 ) (T 2 FC 2 ))

11 Temporal Logic

12 Kripke Structure M=(S,R,L,S 0 ) Given AP finite set of atomic proposition S (finite) set of states R S S total transition relation For every s S there exists s S such that (s,s ) R. Totality means that every path is infinite L:S 2 AP - labeling function that associates every state with the atomic propositions true in that state S 0 S set of initial states (optional)

13 = s 0,s 1, is a path in M from a state s if s = s 0 and R(s i,s i+1 ) for every I i the suffix of starting at s i 13

14 Temporal Logics Express properties of event orderings in time Linear Time Every moment has a unique successor Infinite sequences (words) Linear Time Temporal Logic (LTL) Branching Time Every moment has several successors Infinite tree Computation Tree Logic (CTL) 14

15 Propositional Temporal Logic AP a set of atomic propositions, p AP Temporal operators: Xp Gp Fp puq Path quantifiers: A for all path E there exists a path 15

16 State formulas: p AP CTL* g 1, g 1 g 2, g 1 g 2 where g 1,g 2 are state formulas Ef, Af where f is a path formula Path formulas: Every state formula g is a path formula f 1, f 1 f 2, f 1 f 2, Xf 1, Gf 1, Ff 1, f 1 Uf 2 where f 1,f 2 are path formulas CTL* - set of all state formulas 16

17 Semantics of CTL* The truth value of CTL* formula f is determined with respect to A Kripke structure M = (S, R, L), and A state s S, if f is a state formula A path, if f is a path formula 17

18 Semantics of CTL* 18

19 Semantics of CTL* 19

20 Semantics of CTL* 20

21 Semantics of CTL* 21

22 Semantics of CTL* 22

23 Semantics of CTL* 23

24 Semantics of CTL* 24

25 Semantics of Path Formulas If p,q are state formulas then: Xp Gp Fp puq But in the general case, they can be path formulas 25

26 Semantics of CTL* 26

27 LTL/CTL/CTL* LTL state formulas of the form A - path formula, contains no path quantifiers interpreted over infinite computation paths CTL state formulas where path quantifiers and temporal operators appear in pairs: AG, AU, AF, AX, EG, EU, EF, EX interpreted over infinite computation trees CTL* - Allows any combination of temporal operators and path quantifiers. Includes both LTL and CTL 27

28 State formulas: LTL Af where f is a path formula Path formulas: p AP f 1, f 1 f 2, f 1 f 2, Xf 1, Gf 1, Ff 1, f 1 Uf 2 where f 1,f 2 are path formulas LTL - set of all state formulas 28

29 CTL CTL - set of all state formulas p AP g 1, g 1 g 2, g 1 g 2 AG g 1, A g 1 U g 2, AF g 1, AX g 1, EG g 1, E g 1 U g 2, EF g 1, EX g 1 where g 1,g 2 are state formulas 29

30 Semantics of CTL Recall: path =s 0,s 1, M,s p p L(s) for p AP M,s 1 2 M,s 1 or M,s 2 M,s EX there is s s.t. R(s,s ) and M,s M,s EG there is a path from s, s.t. for every i 0, M,s i 30

31 Semantics of CTL M,s E[ 1 U 2 ] there is a path from s and there is k 0 s.t. M,s k 2 and for every k>i 0, M,s i 1 M,s AG for every path from s and for every i 0, M,s i M,s AF for every path from s there exists i 0 s.t. M,s i 31

32 Examples (LTL) AG (start ready) AG (req F ack) A GF enbled A FG deadlock A (GF enbled GF running) Cannot express existential properties: from any state the system can 32

33 Examples (CTL) EF (start ready) AG (req AF ack) AG (AF enbled) AF (AG deadlock) AG (EF restart) AG (non_critical EX tryring) AG (try A[try U succeed]) 33

34 Illustration of CTL Semantics EFp : AFp : exists reachable state s.t. EGp : AGp : all reachable states. 34

35 Property types Universal Existential Safety AGp EGp Liveness AFp EFp 35

36 Examples 36

37 Equivalence 37

38 Expressiveness,, X, U, E suffice to express all CTL*: Ff true U f Gf F ( f) Af E ( f) EG f E F ( f) E [true U ( f)] In CTL: EX, EG, EU are sufficient A [puq] ( EG q) E[ q U ( p q)] 38

39 LTL vs. CTL A (FG p) has no equivalent in CTL in all paths, p globally holds from some point on Failed attempts: AFAGP : in every path there is a point from which all reachable states satisfy p. s 0 p s 1 s 2 p - s 0,s 0,s 0, - s 0,s 0, s 0,s 1,s 2,s 2,s 2 All paths satisfy FGp But first one does not sat FAGp 39

40 LTL vs. CTL A (FG p) has no equivalent in CTL in all paths, p globally holds from some point on What about AFEGP? in every path there is a point from which there is a path where p globally holds s 0 s All paths satisfy FEGp 1 p - since s 1 sat EGp But s 0,s 1,s 0,s 1,s 0,s 1 does not sat FGp 40

41 LTL vs. CTL AG (EFp) has no equivalent in LTL all reachable states can reach p Failed attempt: AGFp : in all paths, p holds infinitely many times. s 0 s 1 All reachable states (s 0, s 1 ) satisfy EFp p But s 0,s 0,s 0, does not satisfy GFp 41

42 LTL and CTL vs. CTL* E (GFp) has no equivalent in LTL or CTL 42

Model Checking II Temporal Logic Model Checking

Model Checking II Temporal Logic Model Checking 1/32 Model Checking II Temporal Logic Model Checking Edmund M Clarke, Jr School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 2/32 Temporal Logic Model Checking Specification Language:

More information

Model Checking: An Introduction

Model Checking: An Introduction Announcements Model Checking: An Introduction Meeting 2 Office hours M 1:30pm-2:30pm W 5:30pm-6:30pm (after class) and by appointment ECOT 621 Moodle problems? Fundamentals of Programming Languages CSCI

More information

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

logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system? 5. LTL, CTL Last part: Alloy logic language, static/dynamic models SAT solvers Today: Temporal Logic (LTL, CTL) Verified Software Systems 1 Overview How can we model check of a program or system? Modeling

More information

Temporal Logics. Computation Tree Logic

Temporal Logics. Computation Tree Logic Temporal Logics CTL: definition, relationship between operators, adequate sets, specifying properties, safety/liveness/fairness Modeling: sequential, concurrent systems; maximum parallelism/interleaving

More information

Algorithmic Software Verification

Algorithmic Software Verification Algorithmic Software Verification (LTL Model Checking) Azadeh Farzan What is Verification Anyway? Proving (in a formal way) that program satisfies a specification written in a logical language. Formal

More information

Formal Verification and Linear-time Model Checking

Formal Verification and Linear-time Model Checking Formal Verification and Linear-time Model Checking Paul Jackson University of Edinburgh Automated Reasoning 21st and 24th October 2013 Why Automated Reasoning? Intellectually stimulating and challenging

More information

Software Model Checking: Theory and Practice

Software Model Checking: Theory and Practice Software Model Checking: Theory and Practice Lecture: Secification Checking - Temoral Logic Coyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course are coyrighted

More information

Formal Verification by Model Checking

Formal Verification by Model Checking Formal Verification by Model Checking Natasha Sharygina Carnegie Mellon University Guest Lectures at the Analysis of Software Artifacts Class, Spring 2005 1 Outline Lecture 1: Overview of Model Checking

More information

Formal Verification of Software

Formal Verification of Software Formal Verification of Software Sabine Broda Department of Computer Science/FCUP 12 de Novembro de 2014 Sabine Broda (DCC-FCUP) Formal Verification of Software 12 de Novembro de 2014 1 / 26 Formal Verification

More information

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

Development of dynamically evolving and self-adaptive software. 1. Background Development of dynamically evolving and self-adaptive software 1. Background LASER 2013 Isola d Elba, September 2013 Carlo Ghezzi Politecnico di Milano Deep-SE Group @ DEIB 1 Requirements Functional requirements

More information

http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86

http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86 Atlantic Electronic http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86 AUTOMATED RECOGNITION OF STUTTER INVARIANCE OF LTL FORMULAS Jeffrey Dallien 1 and Wendy

More information

Software Modeling and Verification

Software Modeling and Verification Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system

More information

Testing LTL Formula Translation into Büchi Automata

Testing LTL Formula Translation into Büchi Automata Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland

More information

Software Verification and Testing. Lecture Notes: Temporal Logics

Software Verification and Testing. Lecture Notes: Temporal Logics Software Verification and Testing Lecture Notes: Temporal Logics Motivation traditional programs (whether terminating or non-terminating) can be modelled as relations are analysed wrt their input/output

More information

Automata-based Verification - I

Automata-based Verification - I CS3172: Advanced Algorithms Automata-based Verification - I Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2006 Supporting and Background Material Copies of key slides (already

More information

CISC422/853: Formal Methods

CISC422/853: Formal Methods Outline CISC422/853: Formal Methods in Software Engineering: Computer-Aided Verification Topic 7: Specifying, or How to Describe How the System Should (or Should Not) Behave Juergen Dingel Feb, 2009 Readings:

More information

A Logic Approach for LTL System Modification

A Logic Approach for LTL System Modification A Logic Approach for LTL System Modification 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 information

Fundamentals of Software Engineering

Fundamentals of Software Engineering Fundamentals of Software Engineering Model Checking with Temporal Logic Ina Schaefer Institute for Software Systems Engineering TU Braunschweig, Germany Slides by Wolfgang Ahrendt, Richard Bubel, Reiner

More information

Software Engineering using Formal Methods

Software Engineering using Formal Methods Software Engineering using Formal Methods Model Checking with Temporal Logic Wolfgang Ahrendt 24th September 2013 SEFM: Model Checking with Temporal Logic /GU 130924 1 / 33 Model Checking with Spin model

More information

T-79.186 Reactive Systems: Introduction and Finite State Automata

T-79.186 Reactive Systems: Introduction and Finite State Automata T-79.186 Reactive Systems: Introduction and Finite State Automata Timo Latvala 14.1.2004 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software

More information

A computational model for MapReduce job flow

A computational model for MapReduce job flow A computational model for MapReduce job flow Tommaso Di Noia, Marina Mongiello, Eugenio Di Sciascio Dipartimento di Ingegneria Elettrica e Dell informazione Politecnico di Bari Via E. Orabona, 4 70125

More information

LTL Model Checking with Logic Based Petri Nets

LTL Model Checking with Logic Based Petri Nets LTL Model Checking with Logic Based Petri Nets Tristan M. Behrens and Jürgen Dix IfI Technical Report Series IfI-07-04 Impressum Publisher: Institut für Informatik, Technische Universität Clausthal Julius-Albert

More information

2 Temporal Logic Model Checking

2 Temporal Logic Model Checking Bounded Model Checking Using Satisfiability Solving Edmund Clarke 1, Armin Biere 2, Richard Raimi 3, and Yunshan Zhu 4 1 Computer Science Department, CMU, 5000 Forbes Avenue Pittsburgh, PA 15213, USA,

More information

Schedule. Logic (master program) Literature & Online Material. gic. Time and Place. Literature. Exercises & Exam. Online Material

Schedule. Logic (master program) Literature & Online Material. gic. Time and Place. Literature. Exercises & Exam. Online Material OLC mputational gic Schedule Time and Place Thursday, 8:15 9:45, HS E Logic (master program) Georg Moser Institute of Computer Science @ UIBK week 1 October 2 week 8 November 20 week 2 October 9 week 9

More information

Automated Route Planning for Milk-Run Transport Logistics with the NuSMV Model Checker

Automated Route Planning for Milk-Run Transport Logistics with the NuSMV Model Checker IEICE TRANS. INF. & SYST., VOL.E96 D, NO.12 DECEMBER 2013 2555 PAPER Special Section on Parallel and Distributed Computing and Networking Automated Route Planning for Milk-Run Transport Logistics with

More information

Formal Verification of Computer Systems - (INFO-F-412)

Formal Verification of Computer Systems - (INFO-F-412) Formal Verification of Computer Systems - (INFO-F-412) Thierry Massart Université Libre de Bruxelles Département d Informatique February 2013 Acknowledgment I want to thank Edmund Clarke, Keijo Heljanko,

More information

Model checking test models. Author: Kevin de Berk Supervisors: Prof. dr. Wan Fokkink, dr. ir. Machiel van der Bijl

Model checking test models. Author: Kevin de Berk Supervisors: Prof. dr. Wan Fokkink, dr. ir. Machiel van der Bijl Model checking test models Author: Kevin de Berk Supervisors: Prof. dr. Wan Fokkink, dr. ir. Machiel van der Bijl February 14, 2014 Abstract This thesis is about model checking testing models. These testing

More information

Sanity Checks in Formal Verification

Sanity Checks in Formal Verification Sanity Checks in Formal Verification Orna Kupferman Hebrew University, School of Engineering and Computer Science, Jerusalem 91904, Israel Email:orna@cs.huji.ac.il, URL: http://www.cs.huji.ac.il/ orna

More information

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

Checking. E. M. Clarke O. Grumberg K. L. McMillan X. Zhao Ecient Generation of Counterexamples and Witnesses in Symbolic Model Checking E. M. Clarke O. Grumberg K. L. McMillan X. Zhao School of Computer Science Computer Science Dept. Cadence Berkeley Labs. School

More information

Counterexample-guided Design of Property-based Dynamic Software Updates

Counterexample-guided Design of Property-based Dynamic Software Updates Counterexample-guided Design of Property-based Dynamic Software Updates Min Zhang 20141015 Min Zhang (JAIST) Counterexample-guided Design of Property-based Dynamic Software Updates 20141015 [1/45] Contents

More information

Software safety - DEF-STAN 00-55

Software safety - DEF-STAN 00-55 Software safety - DEF-STAN 00-55 Where safety is dependent on the safety related software (SRS) fully meeting its requirements, demonstrating safety is equivalent to demonstrating correctness with respect

More information

Validated Templates for Specification of Complex LTL Formulas

Validated Templates for Specification of Complex LTL Formulas Validated Templates for Specification of Complex LTL Formulas Salamah Salamah Department of Electrical, computer, Software, and Systems Engineering Embry Riddle Aeronautical University 600 S. Clyde Morris

More information

Business Process Verification: The Application of Model Checking and Timed Automata

Business Process Verification: The Application of Model Checking and Timed Automata Business Process Verification: The Application of Model Checking and Timed Automata Luis E. Mendoza Morales Processes and Systems Department, Simón Bolívar University, P.O. box 89000, Baruta, Venezuela,

More information

From Workflow Design Patterns to Logical Specifications

From Workflow Design Patterns to Logical Specifications AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 1 http://dx.doi.org/10.7494/automat.2013.17.1.59 Rados³aw Klimek* From Workflow Design Patterns to Logical Specifications 1. Introduction Formal methods in software

More information

The Model Checker SPIN

The Model Checker SPIN The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(

More information

Formal Specification and Verification

Formal Specification and Verification Formal Specification and Verification Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze 2. 5. 2011 Stefan Ratschan (FIT ČVUT) PI-PSC 4 2.

More information

Formal Verification Problems in a Bigdata World: Towards a Mighty Synergy

Formal Verification Problems in a Bigdata World: Towards a Mighty Synergy Dept. of Computer Science Formal Verification Problems in a Bigdata World: Towards a Mighty Synergy Matteo Camilli matteo.camilli@unimi.it http://camilli.di.unimi.it ICSE 2014 Hyderabad, India June 3,

More information

Static Program Transformations for Efficient Software Model Checking

Static Program Transformations for Efficient Software Model Checking Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major

More information

Model Checking for Software

Model Checking for Software Model Checking for Software Charles Pecheur UC Louvain Charles.Pecheur@uclouvain.be Credits Based on: 2000 Model Checking for Software Willem Visser Charles Pecheur RIACS / NASA Ames {wvisser,pecheur}@ptolemy.arc.nasa.gov

More information

On the Modeling and Verification of Security-Aware and Process-Aware Information Systems

On the Modeling and Verification of Security-Aware and Process-Aware Information Systems On the Modeling and Verification of Security-Aware and Process-Aware Information Systems 29 August 2011 What are workflows to us? Plans or schedules that map users or resources to tasks Such mappings may

More information

tutorial: hardware and software model checking

tutorial: hardware and software model checking tutorial: hardware and software model checking gerard holzmann and anuj puri { gerard anuj } @research.bell-labs.com Bell Labs, USA outline introduction (15 mins) theory and algorithms system modeling

More information

Model Checking of Software

Model Checking of Software Model Checking of Software Patrice Godefroid Bell Laboratories, Lucent Technologies SpecNCheck Page 1 August 2001 A Brief History of Model Checking Prehistory: transformational programs and theorem proving

More information

Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary

Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary Today s Agenda Quiz 4 Temporal Logic Formal Methods in Software Engineering 1 Automata and Logic Introduction Buchi Automata Linear Time Logic Summary Formal Methods in Software Engineering 2 1 Buchi Automata

More information

Bounded LTL Model Checking with Stable Models

Bounded LTL Model Checking with Stable Models Under consideration for publication in Theory and Practice of Logic Programming 1 Bounded LTL Model Checking with Stable Models KEIJO HELJANKO and ILKKA NIEMELÄ Helsinki University of Technology Department

More information

Fixed-Point Logics and Computation

Fixed-Point Logics and Computation 1 Fixed-Point Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of

More information

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

Using Patterns and Composite Propositions to Automate the Generation of Complex LTL University of Texas at El Paso DigitalCommons@UTEP Departmental Technical Reports (CS) Department of Computer Science 8-1-2007 Using Patterns and Composite Propositions to Automate the Generation of Complex

More information

Model Checking LTL Properties over C Programs with Bounded Traces

Model Checking LTL Properties over C Programs with Bounded Traces Noname manuscript No. (will be inserted by the editor) Model Checking LTL Properties over C Programs with Bounded Traces Jeremy Morse 1, Lucas Cordeiro 2, Denis Nicole 1, Bernd Fischer 1,3 1 Electronics

More information

Feature Specification and Automated Conflict Detection

Feature Specification and Automated Conflict Detection Feature Specification and Automated Conflict Detection AMY P. FELTY University of Ottawa and KEDAR S. NAMJOSHI Bell Laboratories Large software systems, especially in the telecommunications field, are

More information

Program Synthesis is a Game

Program Synthesis is a Game Program Synthesis is a Game Barbara Jobstmann CNRS/Verimag, Grenoble, France Outline Synthesis using automata- based game theory. MoBvaBon, comparison with MC and LTL. Basics Terminology Reachability/Safety

More information

Research Article Towards Support for Software Model Checking: Improving the Efficiency of Formal Specifications

Research Article Towards Support for Software Model Checking: Improving the Efficiency of Formal Specifications Advances in Software Engineering Volume 2011, Article ID 869182, 13 pages doi:10.1155/2011/869182 Research Article Towards Support for Software Model Checking: Improving the Efficiency of Formal Specifications

More information

Path Querying on Graph Databases

Path Querying on Graph Databases Path Querying on Graph Databases Jelle Hellings Hasselt University and transnational University of Limburg 1/38 Overview Graph Databases Motivation Walk Logic Relations with FO and MSO Relations with CTL

More information

Semantics and Verification of Software

Semantics and Verification of Software Semantics and Verification of Software Lecture 21: Nondeterminism and Parallelism IV (Equivalence of CCS Processes & Wrap-Up) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification)

More information

DTIC. AD-A270 552 / D I. 9 3 1 0 8 1 b 93-24002. Model Checking, Abstraction, and Compositional Verification ELECTE M S3 OCT 141993 D A. David E.

DTIC. AD-A270 552 / D I. 9 3 1 0 8 1 b 93-24002. Model Checking, Abstraction, and Compositional Verification ELECTE M S3 OCT 141993 D A. David E. AD-A270 552 / Model Checking, Abstraction, and Compositional Verification David E. Long July 1993 CMU-CS-93-178 DTIC. D I ELECTE M S3 OCT 141993 D A School of Computer Science Carnegie Mellon University

More information

Automata-Based Verification of Temporal Properties on Running Programs Dimitra Giannakopoulou Klaus Havelund

Automata-Based Verification of Temporal Properties on Running Programs Dimitra Giannakopoulou Klaus Havelund Automata-Based Verification of Temporal Properties on Running Programs Dimitra Giannakopoulou Klaus Havelund RIACS Technical Report 01.21 August 2001 Presented at the 16 th IEEE International Conference

More information

Doina Bucur. Temporal Monitors for

Doina Bucur. Temporal Monitors for Doina Bucur / Temporal Monitors for 1 Application area: wireless sensor/actuator systems running TinyOS, a best-effort, asynchronous embedded OS In summary: 2 Application area: wireless sensor/actuator

More information

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

Introduction to SPIN. Acknowledgments. Parts of the slides are based on an earlier lecture by Radu Iosif, Verimag. Ralf Huuck. Features PROMELA/SPIN Acknowledgments Introduction to SPIN Parts of the slides are based on an earlier lecture by Radu Iosif, Verimag. Ralf Huuck Ralf Huuck COMP 4152 1 Ralf Huuck COMP 4152 2 PROMELA/SPIN PROMELA (PROcess MEta

More information

Fabio Patrizi DIS Sapienza - University of Rome

Fabio Patrizi DIS Sapienza - University of Rome Fabio Patrizi DIS Sapienza - University of Rome Overview Introduction to Services The Composition Problem Two frameworks for composition: Non data-aware services Data-aware services Conclusion & Research

More information

Quick Start Guide. June 3, 2012

Quick Start Guide. June 3, 2012 The ERIGONE Model Checker Quick Start Guide Mordechai (Moti) Ben-Ari Department of Science Teaching Weizmann Institute of Science Rehovot 76100 Israel http://stwww.weizmann.ac.il/g-cs/benari/ June 3, 2012

More information

Temporal property verification as a program analysis task

Temporal property verification as a program analysis task Temporal property verification as a program analysis task Byron Cook 1, Eric Koskinen 2, and Moshe Vardi 3 1 Microsoft Research and Queen Mary University of London 2 University of Cambridge 3 Rice University

More information

A CTL-Based Logic for Program Abstractions

A CTL-Based Logic for Program Abstractions A CTL-Based Logic for Program Abstractions Martin Lange 1 and Markus Latte 2 1 Dept. of Computer Science, University of Kassel, Germany 2 Dept. of Computer Science, Ludwig-Maximilians-University Munich,

More information

The Advantages of Automatic Protocol Creation

The Advantages of Automatic Protocol Creation AUTOMATIC PROTOCOL CREATION FOR INFORMATION SECURITY SYSTEM Mr. Arjun Kumar arjunsingh@abes.ac.in ABES Engineering College, Ghaziabad Master of Computer Application ABSTRACT Now a days, security is very

More information

Modular Verification of Dynamically Adaptive Systems

Modular Verification of Dynamically Adaptive Systems Modular Verification of Dynamically Adaptive Systems Ji Zhang, Heather J. Goldsby, and Betty H.C. Cheng Department of Computer Science and Engineering, Michigan State University East Lansing, Michigan,

More information

A Propositional Dynamic Logic for CCS Programs

A Propositional Dynamic Logic for CCS Programs A Propositional Dynamic Logic for CCS Programs Mario R. F. Benevides and L. Menasché Schechter {mario,luis}@cos.ufrj.br Abstract This work presents a Propositional Dynamic Logic in which the programs are

More information

Enhancing ABC for LTL Stabilization Verification of SystemVerilog/VHDL Models

Enhancing ABC for LTL Stabilization Verification of SystemVerilog/VHDL Models 1 Enhancing ABC for LTL Stabilization Verification of SystemVerilog/VHDL Models Jiang Long, Sayak Ray, Baruch Sterin, Alan Mishchenko, Robert Brayton Berkeley Verification and Synthesis Research Center

More information

CHAPTER 7 GENERAL PROOF SYSTEMS

CHAPTER 7 GENERAL PROOF SYSTEMS CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes

More information

Rigorous Software Development CSCI-GA 3033-009

Rigorous Software Development CSCI-GA 3033-009 Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical

More information

Test Case Generation for Ultimately Periodic Paths Joint work with Saddek Bensalem Hongyang Qu Stavros Tripakis Lenore Zuck Accepted to HVC 2007 How to find the condition to execute a path? (weakest precondition

More information

TO APPEAR IN: IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING 1. Proactive Detection of Computer Worms Using Model Checking

TO APPEAR IN: IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING 1. Proactive Detection of Computer Worms Using Model Checking TO APPEAR IN: IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING 1 Proactive Detection of Computer Worms Using Model Checking Johannes Kinder, Stefan Katzenbeisser, Member, IEEE, Christian Schallhart,

More information

Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications

Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications Sayantan Das Prasenjit Basu Ansuman Banerjee Pallab Dasgupta P.P. Chakrabarti Department of Computer Science & Engineering

More information

On the Formal Specification of Regulatory Compliance: A Comparative Analysis

On the Formal Specification of Regulatory Compliance: A Comparative Analysis On the Formal Specification of Regulatory Compliance: A Comparative Analysis Amal Elgammal 1, Oktay Turetken, Willem-Jan van den Heuvel, Mike Papazoglou European Research Institute in Service Science (ERISS),

More information

Program Transformation and Its Applications to Software Synthesis and Verification

Program Transformation and Its Applications to Software Synthesis and Verification Program Transformation and Its Applications to Software Synthesis and Verification Maurizio Proietti Joint work with: Fabio Fioravanti (Univ. D'Annunzio, Pescara, Italy), Alberto Pettorossi (Univ. Tor

More information

Digital Design Verification

Digital Design Verification Digital Design Verification Course Instructor: Debdeep Mukhopadhyay Dept of Computer Sc. and Engg. Indian Institute of Technology Madras, Even Semester Course No: CS 676 1 Verification??? What is meant

More information

Slides based in part on previous lectures by Mahesh Vishwanathan, and by Gul Agha January 21, 2014 1

Slides based in part on previous lectures by Mahesh Vishwanathan, and by Gul Agha January 21, 2014 1 Contact Information CS477 Formal Software Development Methods Elsa L Gunter 2112 SC, UIUC egunter@illinois.edu http://courses.engr.illinois.edu/cs477 Office: 2112 SC Office Hours: Wednesdays 11:00am -

More information

How To Test For Relevance In A Model Checker

How To Test For Relevance In A Model Checker Property Relevant Software Testing with Model-Checkers Gordon Fraser and Franz Wotawa Institute for Software Technology Graz University of Technology Inffeldgasse 16b/2 A-8010 Graz, Austria {fraser,wotawa}@ist.tugraz.at

More information

Formal verification of contracts for synchronous software components using NuSMV

Formal verification of contracts for synchronous software components using NuSMV Formal verification of contracts for synchronous software components using NuSMV Tobias Polzer Lehrstuhl für Informatik 8 Bachelorarbeit 13.05.2014 1 / 19 Problem description and goals Problem description

More information

(LMCS, p. 317) V.1. First Order Logic. This is the most powerful, most expressive logic that we will examine.

(LMCS, p. 317) V.1. First Order Logic. This is the most powerful, most expressive logic that we will examine. (LMCS, p. 317) V.1 First Order Logic This is the most powerful, most expressive logic that we will examine. Our version of first-order logic will use the following symbols: variables connectives (,,,,

More information

Technical Report. Identifying meaningless parameterized linear-temporallogic. Nr. TUD-CS-2012-0014 January 17 th, 2012

Technical Report. Identifying meaningless parameterized linear-temporallogic. Nr. TUD-CS-2012-0014 January 17 th, 2012 Technical Report Nr. TUD-CS-2012-0014 January 17 th, 2012 Identifying meaningless parameterized linear-temporallogic formulas Authors Eric Bodden (EC SPRIDE, CASED) Identifying meaningless parameterized

More information

MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY

MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY 1 Juan Carlos Polanco Aguilar 1 Koji Hasebe 1 Manuel Mazzara 2 Kazuhiko Kato 1 1 University of Tsukuba Department of

More information

HECTOR a software model checker with cooperating analysis plugins. Nathaniel Charlton and Michael Huth Imperial College London

HECTOR a software model checker with cooperating analysis plugins. Nathaniel Charlton and Michael Huth Imperial College London HECTOR a software model checker with cooperating analysis plugins Nathaniel Charlton and Michael Huth Imperial College London Introduction HECTOR targets imperative heap-manipulating programs uses abstraction

More information

CS510 Software Engineering

CS510 Software Engineering CS510 Software Engineering Propositional Logic Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-cs510-se

More information

SOFTWARE VERIFICATION RESEARCH CENTRE SCHOOL OF INFORMATION TECHNOLOGY THE UNIVERSITY OF QUEENSLAND. Queensland 4072 Australia TECHNICAL REPORT

SOFTWARE VERIFICATION RESEARCH CENTRE SCHOOL OF INFORMATION TECHNOLOGY THE UNIVERSITY OF QUEENSLAND. Queensland 4072 Australia TECHNICAL REPORT SOFTWARE VERIFICATION RESEARCH CENTRE SCHOOL OF INFORMATION TECHNOLOGY THE UNIVERSITY OF QUEENSLAND Queensland 4072 Australia TECHNICAL REPORT No. 01-16 Model Checking with Abstract Types Kirsten Winter

More information

Aachen. Model Checking of Software for Microcontrollers. Department of Computer Science. Technical Report. Bastian Schlich

Aachen. Model Checking of Software for Microcontrollers. Department of Computer Science. Technical Report. Bastian Schlich Aachen Department of Computer Science Technical Report Model Checking of Software for Microcontrollers Bastian Schlich ISSN 0935 3232 Aachener Informatik Berichte AIB-2008-14 RWTH Aachen Department of

More information

Bisimulation and Logical Preservation for Continuous-Time Markov Decision Processes

Bisimulation and Logical Preservation for Continuous-Time Markov Decision Processes Bisimulation and Logical Preservation for Continuous-Time Markov Decision Processes Martin R. Neuhäußer 1,2 Joost-Pieter Katoen 1,2 1 RWTH Aachen University, Germany 2 University of Twente, The Netherlands

More information

Model Checking Distributed Software

Model Checking Distributed Software Model Checking Distributed Software Sagar Chaki September 19, 2014 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Model Checking and Me 1997 : Ed visits IIT Kharagpur Just

More information

Development of global specification for dynamically adaptive software

Development of global specification for dynamically adaptive software Development of global specification for dynamically adaptive software Yongwang Zhao School of Computer Science & Engineering Beihang University zhaoyw@act.buaa.edu.cn 22/02/2013 1 2 About me Assistant

More information

Software Reliability: Runtime Verification

Software Reliability: Runtime Verification Software Reliability: Runtime Verification Martin Leucker and the whole ISP team Institute for Software Engineering Universität zu Lübeck Riga, 21.07. 04.08.14 Martin Leucker Basoti, 2014 1/117 Runtime

More information

VeriTech - A Framework for Translating among Model Description Notations

VeriTech - A Framework for Translating among Model Description Notations Software Tools for Technology Transfer manuscript No. (will be inserted by the editor) VeriTech - A Framework for Translating among Model Description Notations Orna Grumberg and Shmuel Katz Computer Science

More information

Institut für Parallele und Verteilte Systeme. Abteilung Anwendersoftware. Universität Stuttgart Universitätsstraße 38 D-70569 Stuttgart

Institut für Parallele und Verteilte Systeme. Abteilung Anwendersoftware. Universität Stuttgart Universitätsstraße 38 D-70569 Stuttgart Institut für Parallele und Verteilte Systeme Abteilung Anwendersoftware Universität Stuttgart Universitätsstraße 38 D-70569 Stuttgart Diplomarbeit Nr. 3243 Development and Evaluation of a Framework for

More information

introduction to program monitoring

introduction to program monitoring introduction to program monitoring CS 119 part II beyond assert and print course website http://www.runtime-verification.org/course09 action standing order: sell when price drops more than 2% within 1

More information

Decidable Fragments of First-Order and Fixed-Point Logic

Decidable Fragments of First-Order and Fixed-Point Logic From prefix-vocabulary classes to guarded logics graedel@rwth-aachen.de. Aachen University The classical decision problem part of Hilbert s formalist programme for the foundations of mathematics in modern

More information

Safety verification of software using structured Petri nets

Safety verification of software using structured Petri nets Safety verification of software using structured Petri nets Krzysztof Sacha Warsaw University of Technology, Institute of Control and Computation Engineering, ul. Nowowiejska 15/19, 00-665 Warszawa, Poland

More information

Software Model Checking: Theory and Practice

Software Model Checking: Theory and Practice Software Model Checking: Theory and Practice Lecture: Specification Checking - LTL Model Checking Copyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course are

More information

6.080/6.089 GITCS Feb 12, 2008. Lecture 3

6.080/6.089 GITCS Feb 12, 2008. Lecture 3 6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my

More information

Software Model Checking. Equivalence Hierarchy

Software Model Checking. Equivalence Hierarchy Software Equivalence Hierarchy Moonzoo Kim CS Dept. KAIST CS750B Software Korea Advanced Institute of Science and Technology Equivalence semantics and SW design Preliminary Hierarchy Diagram Trace-based

More information

Verification of multiagent systems via ordered binary decision diagrams: an algorithm and its implementation

Verification of multiagent systems via ordered binary decision diagrams: an algorithm and its implementation Verification of multiagent systems via ordered binary decision diagrams: an algorithm and its implementation Franco Raimondi Alessio Lomuscio Department of Computer Science King s College London London

More information

Verifying Real-Time Embedded Software by Means of Automated State-based Online Testing and the SPIN Model Checker Application to RTEdge Models

Verifying Real-Time Embedded Software by Means of Automated State-based Online Testing and the SPIN Model Checker Application to RTEdge Models Verifying Real-Time Embedded Software by Means of Automated State-based Online Testing and the SPIN Model Checker Application to RTEdge Models A thesis submitted to the Faculty of Graduate and Postdoctoral

More information

Concepts of Concurrent Computation

Concepts of Concurrent Computation Chair of Software Engineering Concepts of Concurrent Computation Bertrand Meyer Sebastian Nanz Lecture 3: Synchronization Algorithms Today's lecture In this lecture you will learn about: the mutual exclusion

More information

Predicate Logic Review

Predicate Logic Review Predicate Logic Review UC Berkeley, Philosophy 142, Spring 2016 John MacFarlane 1 Grammar A term is an individual constant or a variable. An individual constant is a lowercase letter from the beginning

More information

Tilburg University. Publication date: 2010. Link to publication

Tilburg University. Publication date: 2010. Link to publication Tilburg University On the formal specification of business contracts and regulatory compliance Elgammal, Onbekend; Türetken, O.; van den Heuvel, Willem-Jan; Papazoglou, Mike Published in: Proceedings of

More information

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

More information