# Software Model Checking: Theory and Practice

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 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 copyrighted materials and may not be used in other course settings outside of Kansas State University and the University of Nebraska in their current form or modified form without the express written permission of one of the copyright holders. During this course, students are prohibited from selling notes to or being paid for taking notes by any person or commercial firm without the express written permission of one of the copyright holders.

2 Objectives To understand Büchi automata and their relationship to LTL To understand how Büchi acceptance search enables a general LTL model checking algorithm Property Checking : LTL Model Checking 2

3 Safety Checking For safety properties we automated the instrumentation of checking for acceptance of a regular expression for a violation This involved modifying the DFS algorithm to Calculate states of the property automaton Check to see whether an accept state is reached We will apply the same basic strategy for LTL Property Checking : LTL Model Checking 3

4 LTL Model Checking From the semantics An LTL formula defines a set of (accepting) traces We can Check for trace containment System Property Property Checking : LTL Model Checking 4

5 LTL Model Checking From the semantics The negation of an LTL formula defines a set of (violating) traces We can Check for non-empty language intersection Negation of Property System Property Checking : LTL Model Checking 5

6 Emptiness Check LTL is closed under complement L(φ) = L( φ) where the language of a formula defines a set of infinite traces A Büchi automaton accepts a set of infinite traces Property Checking : LTL Model Checking 6

7 Büchi Automata A Büchi automaton is a quadruple (R,I,δ,F) S is a set of states I R is a set of initial states δ : R P(R) is a transition relation F is a set of accepting states Unlike FSAs, Büchi automata are always nondeterministic set of initial states multiple transitions from a state Property Checking : LTL Model Checking 7

8 Büchi Automata Automaton states are labeled with atomic propositions of the formula λ : R P(A) where A are the set of observables for the program λ(r) is the set of observables for a property state Note that the meaning of the automata is defined via this mapping plays the role of alphabet in FSA Property Checking : LTL Model Checking 8

9 Example : Büchi Automaton S = {r 0, r 1, r 2 } I = {r 0 } δ = {(r 0,{r 0,r 1 }),(r 1,{r 2 }),(r 2,{r 2 })} F = {r 2 } λ = {(r 0,cruire}),(r 1,{off}),(r 2,{})} cruise off true r 0 r 1 r 2 Property Checking : LTL Model Checking 9

10 Büchi Automata Semantics An infinite trace σ = r 0, r 1, is accepted by a Büchi automaton iff r 0 I starting in an initial state i 0 : r i+1 δ(r i ) trace corresponds to transition relation i 0 j i : r j F can reach a final state from end of all prefixes Property Checking : LTL Model Checking 10

11 Büchi Trace Containment Assume each system state (S) is labeled (Λ) with set of observables (A) A Büchi automaton accepts a system trace s 0, s 1, r 0 I : λ(r 0 ) Λ(s 0 ) i 0 r i+1 δ(r i ) : λ(r i+1 ) Λ(s i+1 ) i 0 j i : r j F Property Checking : LTL Model Checking 11

12 Example : Büchi Automaton cruise cruise off off accel accel cruise cruise cruise accel cruise off accel cruise off true r o r 1 r 2 Property Checking : LTL Model Checking 12

13 LTL and Büchi Automata Every LTL formula has a Büchi automaton that accepts its language (not vice versa) L(φ) L(BA) L(φ) L(BA) Büchi automata cannot be determinized i.e., there is no canonical deterministic automaton that accepts the same language Büchi automata are closed under the standard set operations Property Checking : LTL Model Checking 13

14 Example : Büchi Automaton What LTL property does this correspond to? cruise off true r o r 1 r 2 cruise U off Property Checking : LTL Model Checking 14

15 Example : Büchi Automaton What LTL property does this correspond to? true off true r o r 1 r 2 off Property Checking : LTL Model Checking 15

16 LTL Model Checking Apply same strategy as before Generate Büchi automaton for the negation of the LTL property Explore state space of the product of the automaton and the system Check for emptiness Violation are indicated by accepting traces Look for cycles containing an accept state Use nested depth-first search Property Checking : LTL Model Checking 16

17 LTL Model Checking errors := {} seen := {} for each r I do seen := seen U {(s 0, r)} stack := [(s 0, r)] DFS((s 0, r)) pop(stack) For each initial property state initialize DFS data structures perform search of initial product state Property Checking : LTL Model Checking 17

18 LTL Model Checking DFS ((s,r)) workset := enabled (s ) for each α workset do s := α (s ) for each r δ(r) do if λ(r ) Λ(s ) then if (s,r ) seen then seen := seen {(s,r )} push (stack, (s,r )) DFS((s,r )) if r A then seen := {(s,r )} stack := [(s,r )] NDFS((s,r ),(s,r )) pop(stack ) pop(stack) end DFS For each transition check if state labels match Only launch a cycle search from property accept states Property Checking : LTL Model Checking 18

19 LTL Model Checking NDFS ((s,r), seed) workset := enabled (s ) for each α workset do s := α (s ) for each r δ(r) do For each transition check if state labels match if λ(r ) Λ(s ) then if (s,r ) = eed then errors := errors U {(stack,stack )} continue if (s,r ) seen then seen := seen {(s,r )} push (stack, (s,r )) NDFS((s,r ), seed) pop(stack ) end NDFS Same logic as for progress checking Property Checking : LTL Model Checking 19

20 Fairness Liveness states that the system should eventually do something Often times in real systems threads rely on a schedule to give them a chance to run Abstracting scheduling to non-deterministic choice introduces severe approximation There are many forms of fairness The intuition is that we restrict the systems behaviors to only those on which each process gets a chance to execute Property Checking : LTL Model Checking 20

21 Fairness in LTL LTL is expressive enough to state fairness properties directly []<> (Phil1.eating Phil2.eating) ([]<>Phil1.eating) && ([]<>Phil2.eating) Fairness formula can be used to filter the behaviors that are checked as follows Fairness -> Property If not Fairness then whole thing is true Property checked only when Fairness holds Property Checking : LTL Model Checking 21

### 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

### 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

### 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

### 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(

### 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

### 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

### 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

### 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

### 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

### 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

### Context-Bounded Model Checking of LTL Properties for ANSI-C Software. Jeremy Morse, Lucas Cordeiro, Bernd Fischer, Denis Nicole

Context-Bounded Model Checking of LTL Properties for ANSI-C Software Jeremy Morse, Lucas Cordeiro, Bernd Fischer, Denis Nicole Model Checking C Model checking: normally applied to formal state transition

### 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

### 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

### Pushdown automata. Informatics 2A: Lecture 9. Alex Simpson. 3 October, 2014. School of Informatics University of Edinburgh als@inf.ed.ac.

Pushdown automata Informatics 2A: Lecture 9 Alex Simpson School of Informatics University of Edinburgh als@inf.ed.ac.uk 3 October, 2014 1 / 17 Recap of lecture 8 Context-free languages are defined by context-free

### 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

### Matching Midlet's Security Claims with a Platform Security Policy using Automata Modulo Theory

Matching Midlet's Security Claims with a Platform Security Policy using Automata Modulo Theory Fabio Massacci, Ida Siahan (University of ) www.massacci.org www.s3ms-project.org NORDSEC-2007 1 Motivation

### Automata-Based Verification of Temporal Properties on Running Programs

Automata-Based Verification of Temporal Properties on Running Programs Dimitra Giannakopoulou (RIACS) and Klaus Havelund (Kestrel Technologies) Automated Software Engineering Group NASA Ames Research Center,

### A First Investigation of Sturmian Trees

A First Investigation of Sturmian Trees Jean Berstel 2, Luc Boasson 1 Olivier Carton 1, Isabelle Fagnot 2 1 LIAFA, CNRS Université Paris 7 2 IGM, CNRS Université de Marne-la-Vallée Atelier de Combinatoire,

### 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

### INF5140: Specification and Verification of Parallel Systems

INF5140: Specification and Verification of Parallel Systems Lecture 7 LTL into Automata and Introduction to Promela Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2007 Gerardo

### 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

### 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:

### 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

### An Automata-Theoretic Approach to Linear Temporal Logic

An Automata-Theoretic Approach to Linear Temporal Logic Moshe Y. Vardi? Rice University Department of Computer Science P.O. Box 1892 Houston, TX 77251-1892, U.S.A. Email: vardi@cs.rice.edu URL: http://www.cs.rice.edu/

### Runtime Verification for LTL and TLTL

Runtime Verification for LTL and TLTL ANDREAS BAUER NICTA and Australian National University MARTIN LEUCKER Technische Universität München and CHRISTIAN SCHALLHART Technische Universität Darmstadt This

### 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

### Access Control Based on Dynamic Monitoring for Detecting Software Malicious Behaviours

Access Control Based on Dynamic Monitoring for Detecting Software Malicious Behaviours K. Adi, L. Sullivan & A. El Kabbal Computer Security Research Laboratory http://w3.uqo.ca/lrsi NCAC'05 1 Motivation

### 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

### Mechanizing the Powerset Construction for Restricted Classes of ω-automata

Mechanizing the Powerset Construction for Restricted Classes of ω-automata Christian Dax 1, Jochen Eisinger 2, Felix Klaedtke 1 1 ETH Zurich 2 Albert-Ludwigs-University of Freiburg ATVA 2007 Motivation

### Fairness and Priority in Progress Property Analysis *

Fairness and Priority in Progress Property Analysis * Dimitra Giannakopoulou, Jeff Magee, and Jeff Kramer Department of Computing, Imperial College of Science, Technology and Medicine, 180 Queen s Gate,

### Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection

Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection Martin Leucker Technische Universität München (joint work with Andreas Bauer, Christian Schallhart et. al) FLACOS

### Omega Automata: Minimization and Learning 1

Omega Automata: Minimization and Learning 1 Oded Maler CNRS - VERIMAG Grenoble, France 2007 1 Joint work with A. Pnueli, late 80s Summary Machine learning in general and of formal languages in particular

### On Omega-Languages Defined by Mean-Payoff Conditions

On Omega-Languages Defined by Mean-Payoff Conditions Rajeev Alur 1, Aldric Degorre 2, Oded Maler 2, Gera Weiss 1 1 Dept. of Computer and Information Science, University of Pennsylvania, USA {alur, gera}@cis.upenn.edu

### Overview of E0222: Automata and Computability

Overview of E0222: Automata and Computability Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. August 3, 2011 What this course is about What we study

### 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

### 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

### Constructing Automata from Temporal Logic Formulas : A Tutorial

Constructing Automata from Temporal Logic Formulas : A Tutorial Pierre Wolper Université de Liège, Institut Montefiore, B28, 4000 Liège, Belgium pw@montefiore.ulg.ac.be, http://www.montefiore.ulg.ac.be/~pw/

### Verification of hybrid dynamical systems

Verification of hybrid dynamical systems Jüri Vain Tallinn Technical University/Institute of Cybernetics vain@ioc.ee Outline What are Hybrid Systems? Hybrid automata Verification of hybrid systems Verification

### A Continuous Truth Domain for Runtime Verification

Institut für Formale Methoden der Informatik Abteilung Theoretische Informatik Universität Stuttgart Universitätsstraße 38 D-70569 Stuttgart Laboratoire Spécification et Vérification École Normale Supérieure

### CIS 771: Software Specifications. Lecture 2: Sets and Relations

CIS 771: Software Specifications Lecture 2: Sets and Relations Copyright 2001, Matt Dwyer, John Hatcliff, and Rod Howell. The syllabus and all lectures for this course are copyrighted materials and may

### Monitoring Metric First-order Temporal Properties

Monitoring Metric First-order Temporal Properties DAVID BASIN, FELIX KLAEDTKE, SAMUEL MÜLLER, and EUGEN ZĂLINESCU, ETH Zurich Runtime monitoring is a general approach to verifying system properties at

### 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

### Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology

Honors Class (Foundations of) Informatics Tom Verhoeff Department of Mathematics & Computer Science Software Engineering & Technology www.win.tue.nl/~wstomv/edu/hci c 2011, T. Verhoeff @ TUE.NL 1/20 Information

### Software Active Online Monitoring Under. Anticipatory Semantics

Software Active Online Monitoring Under Anticipatory Semantics Changzhi Zhao, Wei Dong, Ji Wang, Zhichang Qi National Laboratory for Parallel and Distributed Processing P.R.China 7/21/2009 Overview Software

### Combining Software and Hardware Verification Techniques

Formal Methods in System Design, 21, 251 280, 2002 c 2002 Kluwer Academic Publishers. Manufactured in The Netherlands. Combining Software and Hardware Verification Techniques ROBERT P. KURSHAN VLADIMIR

### On Recognizable Timed Languages FOSSACS 2004

On Recognizable Timed Languages Oded Maler VERIMAG Grenoble France Amir Pnueli NYU and Weizmann New York and Rehovot USA FOSSACS 2004 Nutrition Facts Classical (Untimed) Recognizability Timed Languages

### Automata on Infinite Words and Trees

Automata on Infinite Words and Trees Course notes for the course Automata on Infinite Words and Trees given by Dr. Meghyn Bienvenu at Universität Bremen in the 2009-2010 winter semester Last modified:

### 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

### 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

### Informatique Fondamentale IMA S8

Informatique Fondamentale IMA S8 Cours 1 - Intro + schedule + finite state machines Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech Lille

### Deterministic Finite Automata

1 Deterministic Finite Automata Definition: A deterministic finite automaton (DFA) consists of 1. a finite set of states (often denoted Q) 2. a finite set Σ of symbols (alphabet) 3. a transition function

### ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear:

ω-automata ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear: in verification, as encodings of non-terminating executions of a program. in arithmetic,

### The Common Fragment of ACTL and LTL

The Common Fragment of ACTL and LTL Miko laj Bojańczyk Warsaw University Abstract. The paper explores the relationship between tree languages definable in LTL, CTL, and ACTL, the fragment of CTL where

### 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

### Runtime Verification for Real-Time Automotive Embedded Software

Runtime Verification for Real-Time Automotive Embedded Software S. Cotard, S. Faucou, J.-L. Béchennec, A. Queudet, Y. Trinquet 10th school of Modelling and Verifying Parallel processes (MOVEP) Runtime

### Regular Expressions and Automata using Haskell

Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions

### 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

### Fast nondeterministic recognition of context-free languages using two queues

Fast nondeterministic recognition of context-free languages using two queues Burton Rosenberg University of Miami Abstract We show how to accept a context-free language nondeterministically in O( n log

### 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

### 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

### 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

### 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

### Intrusion Detection via Static Analysis

Intrusion Detection via Static Analysis IEEE Symposium on Security & Privacy 01 David Wagner Drew Dean Presented by Yongjian Hu Outline Introduction Motivation Models Trivial model Callgraph model Abstract

### 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

### An Overview of the Runtime Verification Tool Java PathExplorer

An Overview of the Runtime Verification Tool Java PathExplorer Klaus Havelund Kestrel Technology NASA Ames Research Center California, USA http://ase.arc.nasa.gov/havelund Grigore Roşu Department of Computer

### Theoretical Computer Science (Bridging Course) Complexity

Theoretical Computer Science (Bridging Course) Complexity Gian Diego Tipaldi A scenario You are a programmer working for a logistics company Your boss asks you to implement a program that optimizes the

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

Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement

### CS:5810 Formal Methods in So7ware Engineering

CS:5810 Formal Methods in So7ware Engineering Sets and Rela

### On Winning Conditions of High Borel Complexity in Pushdown Games

Fundamenta Informaticae (2005) 1 22 1 IOS Press On Winning Conditions of High Borel Complexity in Pushdown Games Olivier Finkel Equipe de Logique Mathématique U.F.R. de Mathématiques, Université Paris

### MODEL CHECKING ONE-CLOCK PRICED TIMED AUTOMATA

MODEL CHECKING ONE-CLOCK PRICED TIMED AUTOMATA PATRICIA BOUYER, KIM G. LARSEN, AND NICOLAS MARKEY LSV, CNRS & ENS de Cachan, France Oxford University Computing Laboratory, UK e-mail address: bouyer@lsv.ens-cachan.fr

### 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

### CS 580: Software Specifications

CS 580: Software Specifications Lecture 2: Sets and Relations Slides originally Copyright 2001, Matt Dwyer, John Hatcliff, and Rod Howell. The syllabus and all lectures for this course are copyrighted

### 1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

Some N P problems Computer scientists have studied many N P problems, that is, problems that can be solved nondeterministically in polynomial time. Traditionally complexity question are studied as languages:

### The Halting Problem is Undecidable

185 Corollary G = { M, w w L(M) } is not Turing-recognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine

### Applications of Methods of Proof

CHAPTER 4 Applications of Methods of Proof 1. Set Operations 1.1. Set Operations. The set-theoretic operations, intersection, union, and complementation, defined in Chapter 1.1 Introduction to Sets are

### 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,

### Universität Stuttgart Fakultät Informatik, Elektrotechnik und Informationstechnik

Universität Stuttgart Fakultät Informatik, Elektrotechnik und Informationstechnik Infinite State Model-Checking of Propositional Dynamic Logics Stefan Göller and Markus Lohrey Report Nr. 2006/04 Institut

### Theory of Computation

Theory of Computation For Computer Science & Information Technology By www.thegateacademy.com Syllabus Syllabus for Theory of Computation Regular Expressions and Finite Automata, Context-Free Grammar s

### 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

### Introduction to Logic in Computer Science: Autumn 2006

Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding

### 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)

### 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

### Deterministic Push-Down Store Automata

Deterministic Push-Down tore Automata 1 Context-Free Languages A B C D... A w 0 w 1 D...E The languagea n b n : a b ab 2 Finite-tate Automata 3 Pushdown Automata Pushdown automata (pda s) is an fsa with

International Journal of Foundations of Computer Science c World Scientific Publishing Company Büchi Complementation Made Tighter Ehud Friedgut Hebrew University, Institute of Mathematics, Jerusalem 91904,

### Introduction to Software Verification

Introduction to Software Verification Orna Grumberg Lectures Material winter 2013-14 Lecture 4 5.11.13 Model Checking Automated formal verification: A different approach to formal verification Model Checking

### Finite Automata. Reading: Chapter 2

Finite Automata Reading: Chapter 2 1 Finite Automaton (FA) Informally, a state diagram that comprehensively captures all possible states and transitions that a machine can take while responding to a stream

### Automata and Formal Languages

Automata and Formal Languages Winter 2009-2010 Yacov Hel-Or 1 What this course is all about This course is about mathematical models of computation We ll study different machine models (finite automata,

### Markov Algorithm. CHEN Yuanmi December 18, 2007

Markov Algorithm CHEN Yuanmi December 18, 2007 1 Abstract Markov Algorithm can be understood as a priority string rewriting system. In this short paper we give the definition of Markov algorithm and also

### 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

### CIS 842: Specification and Verification of Reactive Systems. Lecture SPIN-INTRO: Introduction To SPIN

CIS 842: Specification and Verification of Reactive Systems Lecture SPIN-INTRO: Introduction To SPIN Copyright 2001, Matt Dwyer, John Hatcliff. The syllabus and all lectures for this course are copyrighted

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

Introduction to Promela and SPIN LACL, Université Paris 12 Promela = Process Meta Language A specification language! No programming language! Used for system description : Specify an abstraction of the

### A Declarative Approach for Flexible Business Processes Management

A Declarative Approach for Flexible Business Processes Management M. Pesic and W.M.P. van der Aalst Department of Technology Management, Eindhoven University of Technology, P.O.Box 513, NL-5600 MB, Eindhoven,

### Fabio Massacci Ida Siahaan

Inline-Reference Monitor Optimization using Automata Modulo Theory (AMT) Fabio Massacci Ida Siahaan 2009-09-24 STM09 - UNITN - Siahaan 1 Inlined Reference Monitors Security Policy Original Application

### Finite Automata. Reading: Chapter 2

Finite Automata Reading: Chapter 2 1 Finite Automata Informally, a state machine that comprehensively captures all possible states and transitions that a machine can take while responding to a stream (or

### 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

### Lecture 9 verifying temporal logic

Basics of advanced software systems Lecture 9 verifying temporal logic formulae with SPIN 21/01/2013 1 Outline for today 1. Introduction: motivations for formal methods, use in industry 2. Developing models

### Special course in Computer Science: Molecular Computing

Special course in Computer Science: Molecular Computing Lecture 7: DNA Computing by Splicing and by Insertion-Deletion, basics of formal languages and computability Vladimir Rogojin Department of IT, Åbo

### 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: