Software Engineering using Formal Methods
|
|
|
- Cassandra Manning
- 10 years ago
- Views:
Transcription
1 Software Engineering using Formal Methods Model Checking with Temporal Logic Wolfgang Ahrendt 24th September 2013 SEFM: Model Checking with Temporal Logic /GU / 33
2 Model Checking with Spin model name.pml correctness properties SPIN -a verifier pan.c C compiler executable verifier pan either or random/ interactive / simulation guided failing run model.trail errors: 0 SEFM: Model Checking with Temporal Logic /GU / 33
3 Stating Correctness Properties model name.pml correctness properties Correctness properties can be stated within, or outside, the model. stating properties within model using assertion statements meta labels end labels accept labels (briefly) progress labels stating properties outside model using never claims (briefly) temporal logic formulas (today s main topic) SEFM: Model Checking with Temporal Logic /GU / 33
4 Preliminaries 1. Accept labels in Promela Büchi automata 2. Fairness SEFM: Model Checking with Temporal Logic /GU / 33
5 Preliminaries 1: Acceptance Cycles Definition (Accept Location) A location marked with an accept label of the form acceptxxx: is called an accept location. Accept locations can be used to specify cyclic behavior Definition (Acceptance Cycle) A run which infinitely often passes through an accept location is called an acceptance cycle. Acceptance cycles are mainly used in never claims (see below), to define forbidden infinite behavior SEFM: Model Checking with Temporal Logic /GU / 33
6 Preliminaries 2: Fairness Does this Promela model terminate in each run? Demo: start/fair.pml byte n = 0; bool flag = f a l s e ; active proctype P() { do :: flag -> break :: e l s e -> n = 5 - n od } active proctype Q() { flag = true } Termination guaranteed only if scheduling is (weakly) fair! Definition (Weak Fairness) A run is called weakly fair iff the following holds: each continuously executable statement is executed eventually. SEFM: Model Checking with Temporal Logic /GU / 33
7 Model Checking of Temporal Properties Many correctness properties not expressible by assertions all properties that involve state changes temporal logic expressive enough to characterize many (but not all) properties In this course: temporal logic synonymous with linear temporal logic Today: model checking of properties formulated in temporal logic SEFM: Model Checking with Temporal Logic /GU / 33
8 Beyond Assertions Locality of Assertions Assertions talk only about the state at their location in the code Example Mutual exclusion enforced by adding assertion to each critical section critical ++; assert ( critical <= 1 ); critical - -; Drawbacks no separation of concerns (model vs. correctness property) changing assertions is error prone (easily out of sync) easy to forget assertions: correctness property might be violated at unexpected locations many interesting properties not expressible via assertions SEFM: Model Checking with Temporal Logic /GU / 33
9 Temporal Correctness Properties Examples of properties more conveniently expressed as global properties than as assertions: Mutual Exclusion critical <= 1 holds throughout any run Array Index within Bounds (given array a of length len) 0 <= i <= len-1 holds throughout any run Examples of properties impossible to express as assertions: Absence of Deadlock If several processes try to enter their critical section, eventually one of them does so. Absence of Starvation If one process tries to enter its critical section, eventually that process does so. All of these are temporal properties use temporal logic SEFM: Model Checking with Temporal Logic /GU / 33
10 Boolean Temporal Logic Numerical variables in expressions Expressions such as i <= len-1 contain numerical variables Propositional LTL as introduced so far only knows propositions Slight generalisation of LTL required In Boolean Temporal Logic atomic building blocks are Boolean expressions over Promela variables SEFM: Model Checking with Temporal Logic /GU / 33
11 Boolean Temporal Logic over Promela Set For BTL of Boolean Temporal Formulas (simplified) all global Promela variables and constants of type bool/bit are For BTL if e1 and e2 are numerical Promela expressions, then all of e1==e2, e1!=e2, e1<e2, e1<=e2, e1>e2, e1>=e2 are For BTL if P is a process and l is a label in P, then P@l is For BTL (P@l reads P is at l ) if φ and ψ are formulas For BTL, then all of are For BTL! φ, φ && ψ, φ ψ, φ > ψ, φ < > ψ [ ]φ, <>φ, φ U ψ SEFM: Model Checking with Temporal Logic /GU / 33
12 Semantics of Boolean Temporal Logic A run σ through a Promela model M is a chain of states L 0, I 0 L 1, I 1 L 2, I 2 L 3, I 3 L 4, I 4 L j maps each running process to its current location counter From L j to L j+1, only one of the location counters has advanced (exception: channel rendezvous) I j maps each variable in M to its current value Arithmetic and relational expressions are interpreted in states as expected; e.g. L j, I j = x<y iff I j (x) < I j (y) L j, I j = P@l iff L j (P) is the location labeled with l Evaluating other formulas For BTL in runs σ: see previous lecture SEFM: Model Checking with Temporal Logic /GU / 33
13 Safety Properties Safety Properties... are formulas of the form [ ]φ state that something good (φ) is guaranteed throughout each run equivalently: in [ ] ψ something bad (ψ) never happens Example TL formula [](critical <= 1) it is guaranteed throughout each run that at most one process visits its critical section at any time or, equivalently: it will never happen that more than one process visits its critical section SEFM: Model Checking with Temporal Logic /GU / 33
14 Applying Temporal Logic to Critical Section Problem We want to verify [](critical<=1) as a correctness property of: active proctype P() { do :: /* non - critical activity */ atomic {! incriticalq ; incriticalp = true } critical ++; /* critical activity */ critical - -; incriticalp = f a l s e od } /* similarly for process Q */ SEFM: Model Checking with Temporal Logic /GU / 33
15 Model Checking a Safety Property using jspin Alternative 1: ltl in model file 1. add definition of TL formula to Promela file Example ltl s { [](critical <= 1) } General ltl <name> { <TL formula> } can define more than one formula 2. load Promela file in jspin 3. ensure Safety is selected 4. select Verify jspin always selects first formula use command line./pan -N <name> to select arbitrary formulas 5. (if necessary) select Stop to terminate too long verification Demo: safety1.pml ltl definitions not part of Ben Ari s book (Spin 6): ignore 5.3.2, etc. SEFM: Model Checking with Temporal Logic /GU / 33
16 Model Checking a Safety Property using jspin Alternative 2: edit LTL fomula field of jspin 1. load Promela file in jspin (not necessarily containing ltl...) 2. enter [](critical <= 1) in LTL text field of jspin 3. select Translate to create a never claim, corresponding to the negation of the formula 4. ensure Safety is selected 5. select Verify 6. (if necessary) select Stop to terminate too long verification Demo: safety1.pml SEFM: Model Checking with Temporal Logic /GU / 33
17 Never Claims: Processes trying to show user wrong Büchi automaton, as Promela process, for negated property 1. Negated TL formula translated to never process 2. accepting locations in Büchi automaton represented with help of accept labels ( acceptxxx: ) 3. If one of these reached infinitely often, the orig. property is violated Example (Never claim for <>p, simplified for readability) never { /*!(<>p) */ accept_ xyz : /* passed often iff!( < > p) holds */ do :: (!p) od } SEFM: Model Checking with Temporal Logic /GU / 33
18 Model Checking against Temporal Logic Property Theory behind Spin 1. Represent the interleaving of all processes as a single automaton (only one process advances in each step), called M 2. Construct Büchi automaton (never claim) N C φ for negation of TL formula φ to be verified 3. If L ω (M) L ω (N C φ ) = then φ holds in M, otherwise we have a counterexample 4. To check L ω (M) L ω (N C φ ) construct intersection automaton (both automata advance in each step) and search for accepting run SEFM: Model Checking with Temporal Logic /GU / 33
19 Model Checking a Safety Property using Web Interface 1. add definition of TL formula to Promela file Example ltl s { [](critical <= 1) } General ltl <name> { <TL formula> } can define more than one formula 2. load Promela file into web interface 3. ensure Safety is selected 4. enter name of LTL formula in according field 5. select Verify Demo: safety1.pml SEFM: Model Checking with Temporal Logic /GU / 33
20 Model Checking a Safety Property using Spin directly Command Line Execution (Alt. 1) Make sure ltl <name> { <TL formula> } is in <file>.pml > spin -a <file >. pml > gcc -DSAFETY - o pan pan. c >./ pan -N <name> Demo: target/safety1.pml The ltl <name> { <TL formula> } construct must be part of your lab submission! SEFM: Model Checking with Temporal Logic /GU / 33
21 Model Checking a Safety Property using Spin directly Command Line Execution (Alt. 2) Write negated TL formula in file <formulafile>.prp (first line) > spin - a - F < formulafile >. PRP < file >. pml > gcc -DSAFETY - o pan pan. c >./ pan some platforms have problems with -F SEFM: Model Checking with Temporal Logic /GU / 33
22 Liveness Properties Liveness Properties... formulas of the form <>φ state that something good (φ) eventually happens in each run Example <>csp (with csp a variable only true in the critical section of P) in each run, process P visits its critical section eventually SEFM: Model Checking with Temporal Logic /GU / 33
23 Applying Temporal Logic to Starvation Problem We want to verify <>csp as a correctness property of: active proctype P() { do :: /* non - critical activity */ atomic {! incriticalq ; incriticalp = true } csp = true ; /* critical activity */ csp = f a l s e ; incriticalp = f a l s e od } /* similarly for process Q */ /* there, using csq */ SEFM: Model Checking with Temporal Logic /GU / 33
24 Model Checking a Liveness Property using jspin 1. open Promela file liveness1.pml 2. enter <>csp in LTL fomula field 3. select Translate to create a never claim, corresponding to the negation of the formula 4. ensure that Acceptance is selected (Spin will search for accepting cycles through the never claim) 5. for the moment uncheck Weak Fairness (see discussion below) 6. select Verify Alternative to 2. and 3., write ltl l { <>csp } in Promela file (as first ltl formula). SEFM: Model Checking with Temporal Logic /GU / 33
25 Verification Fails Verification fails! Why? Demo: start/liveness1.pml The liveness property on one process had no chance. Not even weak fairness was switched on! SEFM: Model Checking with Temporal Logic /GU / 33
26 Model Checking Liveness with Weak Fairness using jspin Always check enforce weak fairness constraint when verifying liveness 1. open Promela file 2. enter <>csp in LTL text field 3. select Translate to create a never claim, corresponding to the negation of the formula 4. ensure that Acceptance is selected (Spin will search for accepting cycles through the never claim) 5. ensure Weak Fairness is checked 6. select Verify Alternative to 2. and 3., write ltl l { <>csp } in Promela file (as first ltl formula). SEFM: Model Checking with Temporal Logic /GU / 33
27 Model Checking Liveness using Web Interface 1. add definition of TL formula to Promela file Example ltl l { <>csp } General ltl <name> { <TL formula> } can define more than one formula 2. load Promela file into web interface 3. ensure Acceptance is selected 4. enter name of LTL formula in according field 5. select Verify Demo: liveness1.pml SEFM: Model Checking with Temporal Logic /GU / 33
28 Model Checking Liveness using Spin directly Command Line Execution (Alt. 1) Make sure ltl <name> { <TL formula> } is in <file>.pml > spin -a <file >. pml > gcc -o pan pan.c >./ pan -a -f [-N <name >] -a acceptance cycles, -f weak fairness Demo: start/liveness1.pml SEFM: Model Checking with Temporal Logic /GU / 33
29 Model Checking Liveness using Spin directly Command Line Execution (Alt. 2) Write negated TL formula in file <formulafile>.prp (first line) > spin - a - F < formulafile >. PRP < file >. pml > gcc -o pan pan.c >./ pan -a -f [-N <name >] -a acceptance cycles, -f weak fairness SEFM: Model Checking with Temporal Logic /GU / 33
30 Limitation of Weak Fairness Verification fails again! Why? Weak fairness is too weak... Definition (Weak Fairness) A run is called weakly fair iff the following holds: each continuously executable statement is executed eventually. Note that!incriticalq is not continuously executable! Restriction to weak fairness is principal limitation of Spin The only way to show liveness of our example is to rewrite the model SEFM: Model Checking with Temporal Logic /GU / 33
31 Temporal Model Checking without Ghost Variables We want to verify mutual exclusion without using ghost variables bool incriticalp = f a l s e, incriticalq = f a l s e ; active proctype P() { do :: atomic {! incriticalq ; incriticalp = true } cs: /* critical activity */ incriticalp = f a l s e od } /* similar for process Q with same label cs: */ ltl s { []!( P@cs && Q@cs ) } Demo: start/noghost.pml SEFM: Model Checking with Temporal Logic /GU / 33
32 Liveness Revisited Label expressions often remove the need for ghost variables Specify liveness of fair.pml using labels Prove termination Weak fairness is needed, and sufficient Demo: target/fair.pml SEFM: Model Checking with Temporal Logic /GU / 33
33 Literature for this Lecture Ben-Ari Chapter 5 except Sections 5.3.2, 5.3.3, (ltl replaces #define and -f option of Spin) SEFM: Model Checking with Temporal Logic /GU / 33
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
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
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
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
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(
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
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
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
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
Software Quality Exercise 1
Software Quality Exercise Model Checking Information. Dates Release: 7.0.0.5pm Deadline: 07.0.0.5pm Discussion:.0.0. Formalities While this exercise can be solved and handed in in groups of three, every
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
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
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
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
A Classification of Model Checking-based Verification Approaches for Software Models
A Classification of Model Checking-based Verification Approaches for Software Models Petra Brosch, Sebastian Gabmeyer, Martina Seidl Sebastian Gabmeyer Business Informatics Group Institute of Software
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
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
Stylianos Basagiannis
Interlocking control by Distributed Signal Boxes Technical Report (TR) 4 Stylianos Basagiannis Supervisors: Dr Andrew Pombortsis, Dr Panagiotis Katsaros Aristotle University of Thessaloniki Department
Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
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
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
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:
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
User s Guide. Version 5.0
JSPIN - Java GUI for SPIN User s Guide Version 5.0 Mordechai (Moti) Ben-Ari Department of Science Teaching Weizmann Institute of Science Rehovot 76100 Israel http://stwww.weizmann.ac.il/g-cs/benari/ December
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
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
Automata-based Verification - I
CS3172: Advanced Algorithms Automata-based Verification - I Howard Barringer Room KB2.20: email: [email protected] March 2006 Supporting and Background Material Copies of key slides (already
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
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
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
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
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
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
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
TEACHING MODEL CHECKING TO UNDERGRADUATES
STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LV, Number 3, 2010 TEACHING MODEL CHECKING TO UNDERGRADUATES A.VESCAN AND M. FRENŢIU Abstract. The way program verification is taught in our faculty is firstly
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
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
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
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
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
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
Traditional Software Development. Model Requirements and JAVA Programs. Formal Verification & Validation. What is a state?
Mel Requirements and JAVA Programs MVP The Waterfall Mel Problem Area Traditional Software Develoment Analysis REVIEWS Design Costly wrt time and money. Errors are found too late (or maybe never). SPIN/PROMELA
Model Checking based Software Verification
Model Checking based Software Verification 18.5-2006 Keijo Heljanko [email protected] Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24
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
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
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:
INF5140: Specification and Verification of Parallel Systems
Motivation INF5140: Specification and Verification of Parallel Systems Lecture 1 Introduction: Formal Methods Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2009 Outline
System modeling. Budapest University of Technology and Economics Department of Measurement and Information Systems
System modeling Business process modeling how to do it right Partially based on Process Anti-Patterns: How to Avoid the Common Traps of Business Process Modeling, J Koehler, J Vanhatalo, IBM Zürich, 2007.
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
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
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
The Course. http://www.cse.unsw.edu.au/~cs3153/
The Course http://www.cse.unsw.edu.au/~cs3153/ Lecturers Dr Peter Höfner NICTA L5 building Prof Rob van Glabbeek NICTA L5 building Dr Ralf Huuck NICTA ATP building 2 Plan/Schedule (1) Where and When Tuesday,
Applying Model Checking to Destructive Testing and Analysis of Software System
1254 JOURNAL OF SOFTWARE, VOL. 8, NO. 5, MAY 2013 Applying Mel Checking to Destructive Testing and Analysis of Software System Hiroki Kumamoto, Takahisa Mizuno, Kensuke Narita, Shin-ya Nishizaki Department
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
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
SpinRCP The Eclipse Rich Client Platform Integrated Development Environment for the Spin Model Checker
SpinRCP The Eclipse Rich Client Platform Integrated Development Environment for the Spin Model Checker Zmago Brezočnik, Boštjan Vlaovič, and Aleksander Vreže Faculty of Electrical Engineering and Computer
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
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
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
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
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
Decision Logic: if, if else, switch, Boolean conditions and variables
CS 1044 roject 3 Fall 2009 Decision Logic: if, if else, switch, Boolean conditions and variables This programming assignment uses many of the ideas presented in sections 3 through 5 of the Dale/Weems text
[Refer Slide Time: 05:10]
Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture
LTL Satisfiability Checking
Software Tools for Technology Transfer manuscript No. (will be inserted by the editor) LTL Satisfiability Checking Kristin Y. Rozier 1, Moshe Y. Vardi 2 1 NASA Ames Research Center, Moffett Field, California,
Datavetenskapligt Program (kandidat) Computer Science Programme (master)
Datavetenskapligt Program (kandidat) Computer Science Programme (master) Wolfgang Ahrendt Director Datavetenskap (BSc), Computer Science (MSc) D&IT Göteborg University, 30/01/2009 Part I D&IT: Computer
Software Verification: Infinite-State Model Checking and Static Program
Software Verification: Infinite-State Model Checking and Static Program Analysis Dagstuhl Seminar 06081 February 19 24, 2006 Parosh Abdulla 1, Ahmed Bouajjani 2, and Markus Müller-Olm 3 1 Uppsala Universitet,
MODEL CHECKING CONCURRENT AND REAL-TIME SYSTEMS: THE PAT APPROACH. LIU YANG (B.Sc. (Hons.), NUS)
MODEL CHECKING CONCURRENT AND REAL-TIME SYSTEMS: THE PAT APPROACH LIU YANG (B.Sc. (Hons.), NUS) A THESIS SUBMITTED FOR THE DEGREE OF DOCTOR OF PHILOSOPHY DEPARTMENT OF COMPUTER SCIENCE NATIONAL UNIVERSITY
Workflow Management Models and ConDec
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,
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
Modeling and Validation of a Data Process Unit Control for Space Applications
Modeling and Validation of a Data Process Unit Control for Space Applications Wan Hai, Huang Chongdi, Wang Yuhui, He Fei and Gu Ming Key Lab of ISS of MOE, TNList, School of Software, Tsinghua University,
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
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises Daniel Baudisch, Manuel Gesell and Klaus Schneider Embedded Systems Group, University of Kaiserslautern,
End to End Verification and Validation with SPIN
End to End erification and alidation with SPIN Asankhaya Sharma epartment of Computer Science National University of Singapore [email protected] Abstract ver the last several years the tools used
