The Course.

Size: px
Start display at page:

Download "The Course. http://www.cse.unsw.edu.au/~cs3153/"

Transcription

1 The Course

2 Lecturers Dr Peter Höfner NICTA L5 building Prof Rob van Glabbeek NICTA L5 building Dr Ralf Huuck NICTA ATP building 2

3 Plan/Schedule (1) Where and When Tuesday, 2pm 4pm, Civil Engineering 102 (K-H20-102) Wednesday, 12pm 1pm, Australian School Business 119 (K-E12-119) Assessment Criteria Assignments: 50%, 100 marks, 4 assignments (see Table below) Final Exam: 50%, 100 marks, 2h, written, June Week Topics Lecturer Assignments 1: March 3, 4 2h - Introduction 1h Automata Peter 2: March 10, 11 2h Temporal Logics (CTL, LTL) 1h Expressiveness and Fairness Peter 3: March 17, 18 2h LTL Model Checking (1) 1h LTL Model Checking (2) Peter Assignment 1, 20 marks Due: March 31 4: March 24, 25 2h Tool: Spin 1h tba Peter 5: March 31, April 1 2h - CTL Model-Checking 1h Summary, Assignment 1 (Solution) ) Peter Assignment 2, 30 marks Due: April 21 3

4 Plan/Schedule (2) Week Topics Lecturer Assignments Mid-Semester Break April 3 -April 12 6: April 14, 15 2h Abstract/Refinement (1) 1h Abstract/Refinement (2) 6: April 21, 22 2h Static Analysis 1h Static Analysis Tools (Goanna) 7: April 28, 29 2h Symbolic CTL Model Checking (1) 1h Binary Decision Diagrams 8: May 5, 6 2h Symbolic CTL Model Checking (2) 1h Tool: CBMC or nusmv 10: May 12, 13 2h Timed Automata 1h Timed Languages 11: May 19, 20 2h- Model Checking for Timed Automata 1h Assignment 2 (Solution) 12: May 26, 27 2h Real-time model checker UPPAAL (tool) 1h Assignment 3 (Solution) 13: June 2, 3 2h Summary Q & A 1h Assignment 4 (Solution) Ralf Ralf Rob Rob Peter Peter Peter Peter Assignment 3, 30 marks Due: May 13 Assignment 4, 20 marks Due: June 2 4

5 Algorithmic Verification COMP 3153 Lecture 1 Introduction (many slides are thanks to F. Cassez)

6 Content for this lecture 1. Famous bugs in software/hardware systems 2. What is verification about? 3. What is algorithmic verification? 4. Some verification techniques and tools 5. Useful mathematical techniques/tools 6

7 Famous Bugs

8 Famous Hardware Bug Intel P5, 1994 Pentium floating point unit flawed Cause: missing entries in a lookup table 3 to 5 million defective FPU Consequences Intel image badly damaged Replacement of defective FPUs: $US450 million 8

9 Famous Software Bugs (1) Therac-25, X-ray radiation therapy machine Two modes of operation: high/low energy High energy requires metal shield Software error: high energy generated without metal shield Consequences: at least 5 patients died Others were irradiated (overdose of radiation x100) 9

10 Famous Software Bugs (2) Toyota Prius, 2005 Sudden stalling/stopping at highway speeds Cause: software error causing the program to switch to fail-safe mode Consequence Recall of cars for software updates Cost: unknown but high 10

11 Famous Software Bugs (3) Ariane 5 rocket, Flight 501, 1996 Re-use of Ariane 4 software Cause: overflow when converting 64-bits to 16-bits unsigned (horizontal part of calculation, vertical part was correct) Consequences After 37 seconds, rocket veered off, and self-destructed Cost: $US370 million 11

12 Famous Software Bugs (4) Northeast blackout, 2003 Alarm went unnoticed Bug in the alarm system Cause: probably race condition Consequences: Power failure from 4pm to 11pm (up to 2 days) 55 million people affected Cost: more than $US6 billion 12

13 Famous Software Bugs (5) Zune MP3 30GB player, 2008 On December 31 st, 2008, Zune MP3 players failed Cause: infinite loop in clock driver Year with more than 365 days not handled properly Consequences One day off for player Product discontinued in

14 What is Verification?

15 Software Verification Software verification is a discipline of software engineering whose goal is to assure that software fully satisfies all the expected requirements. (wikipedia) Requirements R What the system is expected to do Software S (note: same applies for hardware) A set of interacting processes (programs) Satisfaction Check that S satisfies R 15

16 The Need for Verification Computers are increasingly complex Difficult to prove hardware correctness Difficult to prove software correctness Programs with million of lines of codes Concurrent programs (threads) Software/hardware controlled systems are everywhere, some safety-critical Complex interaction of processes (concurrent systems) Certification mandatory (e.g. aircraft software) Subject to attacks (e.g. banks) 16

17 Approaches to Verification Testing: Build the software Run experiments (infinitely many ) Drawback: not exhaustive Advantages: only requires the software (and tests) Are there better approaches? Rigorous? Exhaustive? Automatic? 17

18 Requirements for Formal Verification Software Verification e.g. C/C++ programs Goal: Rigorous proof that the system satisfies the requirements Requires: Clear/unambiguous requirements R A Program P Clear/unambiguous semantics of P: [[ P ]] Proof techniques to derive proofs/theorems like [[P ]] satisfies R 18

19 The Big Picture Abstract Mathematical Model of P Mathematically Satisfies Logical Formula For Requirement Formal Semantics Formalisation Program P C/C++ code Hand waving Satisfies Requirements Plain English 19

20 What is Algorithmic Verification?

21 Formal Verification Techniques Technique Complexity of requirements Scalability Automation Speed Confidence Mathematical proof (By hand) Unbounded Low None Low Low/High Theorem Provers Unbounded Medium Medium Medium High Model Checking Medium High Full Very High High Static Analysis Medium High Full Very High High Algorithmic / Automated Verification 21

22 Brief (and biased) History of Model Checking and Static Analysis

23 Model Checking (1980) Introduced independently by Clarke, Emerson, Sistla and Queille and Sifakis in 1980 Formal Model: finite state machine S Requirements: Temporal logics R Introduced by Pnueli, 1977 Model Checking algorithm: Check dynamic requirements on executions Automatically verifies that S satisfies R If not gives a counter example Exhaustive search of state space Turing Award 2007 Turing Award 1996 Large system: State Explosion Problem 23

24 State Explosion Problem Program with 100 integer variables within [0,10] 10^100 states size of the universe: 10^78 atoms 100 concurrent components, 10 states each 10^100 states How to combat state explosion problem: Symbolic model checking, McMillan, 1987 Abstraction/Refinement, Clarke, 1990 SAT-based techniques, 2000 Compositionality (e.g. Rely/Guarantee) 24

25 State Explosion Problem Program with 100 integer variables within [0,10] 10^100 states size of the universe: 10^78 atoms 100 concurrent components, 10 states each 10^100 states How to combat state explosion problem: Symbolic model checking, McMillan, 1987 Abstraction/Refinement, Clarke, 1990 SAT-based techniques, 2000 Compositionality (e.g. Rely/Guarantee) 25

26 Model Checking Tools (1) SMV, McMillan, 1987 NuSMW, Cimatti, 2002 Symbolic: processes symbolic representation of sets of states Data structure: Binary Decision Diagrams Used in hardware verification 26

27 Model Checking Tools (2) SPIN, Holtzmann, 1990 Explicit model checker Check C-like communicating programs Promela language Heuristics to control state explosion Partial order reduction techniques Hashing Used in protocol verification 27

28 Model Checking Tools (3) SAT-based tools Bounded model-checking Executions of length bounded by integer N Encode model checking as a SAT problem SLAM, T. Ball and S. Rajamani, Microsoft, 2000 Verifies drivers C-BMC, Kroenig, 2002 Verifies ANSI-C programs 28

29 Static Analysis Check static requirements on program E.g. no NULL pointer dereference No Array out-of-bound access Compute (loop) invariants Based on Abstract Interpretation, Cousot and Cousot, 1977 Control flow analysis Data flow analysis 29

30 Static Analysis Tools ASTREE, Absint, 2003 Coverity, 2003 Grammatech, 2005 Polyspace PVS-Studio Goanna 30

31 Useful Mathematical Tools

32 Set Theory 32

33 Functions 33

34 More on Functions Composition Monotonicity 34

35 Propositional Logics Semantics 35

36 Automata Theory (1) 36

37 Automata Theory (2) 37

38 Automata Theory (3) 38

Model Checking based Software Verification

Model Checking based Software Verification Model Checking based Software Verification 18.5-2006 Keijo Heljanko Keijo.Heljanko@tkk.fi Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24

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

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 1 Important Facts Office Hours: Thu 3-4pm, or by appointment Office: CIWW 407 Course web site: http://cs.nyu.edu/wies/teaching/rsd-13

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

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

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

Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm

Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm Introduction to Formal Methods Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm Outline Introduction Formal Specification Formal Verification Model Checking Theorem Proving Introduction Good papers to

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

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

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

More information

INF5140: Specification and Verification of Parallel Systems

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

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

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

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

Coverability for Parallel Programs

Coverability for Parallel Programs 2015 http://excel.fit.vutbr.cz Coverability for Parallel Programs Lenka Turoňová* Abstract We improve existing method for the automatic verification of systems with parallel running processes. The technique

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

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

Building SMT-based Software Model Checkers: an Experience Report

Building SMT-based Software Model Checkers: an Experience Report Building SMT-based Software Model Checkers: an Experience Report Alessandro Armando Artificial Intelligence Laboratory (AI-Lab) Dipartimento di Informatica Sistemistica e Telematica (DIST) University of

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

Introduction to Static Analysis for Assurance

Introduction to Static Analysis for Assurance Introduction to Static Analysis for Assurance John Rushby Computer Science Laboratory SRI International Menlo Park CA USA John Rushby Static Analysis for Assurance: 1 Overview What is static analysis?

More information

Automated Theorem Proving - summary of lecture 1

Automated Theorem Proving - summary of lecture 1 Automated Theorem Proving - summary of lecture 1 1 Introduction Automated Theorem Proving (ATP) deals with the development of computer programs that show that some statement is a logical consequence of

More information

Specification and Analysis of Contracts Lecture 1 Introduction

Specification and Analysis of Contracts Lecture 1 Introduction Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider gerardo@ifi.uio.no http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.

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

System modeling. Budapest University of Technology and Economics Department of Measurement and Information Systems

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.

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

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

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

CORRECTNESS of computer systems is critical in today s

CORRECTNESS of computer systems is critical in today s IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 7, JULY 2008 1165 Keynote Paper A Survey of Automated Techniques for Formal Software Verification Vijay D Silva,

More information

TEACHING MODEL CHECKING TO UNDERGRADUATES

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

More information

Abstract Interpretation-based Static Analysis Tools:

Abstract Interpretation-based Static Analysis Tools: Abstract Interpretation-based Static Analysis Tools: Proving the Absence of Runtime Errors and Safe Upper Bounds on the Worst-Case Execution Time and Safe Upper Bounds on the Stack Usage Christian Ferdinand

More information

Software Verification: Infinite-State Model Checking and Static Program

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,

More information

Principles of Software Engineering: Course Outline. Ethan Jackson And Wolfram Schulte, Research in Software Engineering (RiSE) Microsoft Research

Principles of Software Engineering: Course Outline. Ethan Jackson And Wolfram Schulte, Research in Software Engineering (RiSE) Microsoft Research Principles of Software Engineering: Course Outline Ethan Jackson And Wolfram Schulte, Research in Software Engineering (RiSE) Microsoft Research Overview Motivation and Focus Syllabus Projects i. Motivation

More information

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

More information

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing CS Master Level Courses and Areas The graduate courses offered may change over time, in response to new developments in computer science and the interests of faculty and students; the list of graduate

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

Sound Verification Techniques for Developing High-Integrity Medical Device Software

Sound Verification Techniques for Developing High-Integrity Medical Device Software ESC-360 Sound Verification Techniques for Developing High-Integrity Medical Device Software Jay Abraham The MathWorks Paul Jones FDA / CDRH Raoul Jetley FDA / CDRH Abstract Embedded software in medical

More information

SHARED HASH TABLES IN PARALLEL MODEL CHECKING

SHARED HASH TABLES IN PARALLEL MODEL CHECKING SHARED HASH TABLES IN PARALLEL MODEL CHECKING IPA LENTEDAGEN 2010 ALFONS LAARMAN JOINT WORK WITH MICHAEL WEBER AND JACO VAN DE POL 23/4/2010 AGENDA Introduction Goal and motivation What is model checking?

More information

Numerical Matrix Analysis

Numerical Matrix Analysis Numerical Matrix Analysis Lecture Notes #10 Conditioning and / Peter Blomgren, blomgren.peter@gmail.com Department of Mathematics and Statistics Dynamical Systems Group Computational Sciences Research

More information

Software testing. Objectives

Software testing. Objectives Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating

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

Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors

Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors Klaus Wissing PolySpace Technologies GmbH Argelsrieder Feld 22 82234 Wessling-Oberpfaffenhofen

More information

https://sites.google.com/a/asu.edu/cse-522-spring-12/ sensors and actuators? How do we handle the errors introduced due to noise, quantization etc?

https://sites.google.com/a/asu.edu/cse-522-spring-12/ sensors and actuators? How do we handle the errors introduced due to noise, quantization etc? CSE 522 Spring 12 https://sites.google.com/a/asu.edu/cse-522-spring-12/ 1 of 3 5/29/2012 16:56 CSE 522 Spring 12 Navigation CSE522: Real-Time Embedded Systems The Schedule Sitemap CSE522: Real-Time Embedded

More information

SCADE Suite in Space Applications

SCADE Suite in Space Applications SCADE Suite in Space Applications at EADS David Lesens 09/10/2008 Overview Introduction Historical use of SCADE at EADS Astrium ST Why using SCADE? The Automatic Transfer Vehicle (ATV) M51 and Vega R&T

More information

µz An Efficient Engine for Fixed points with Constraints

µz An Efficient Engine for Fixed points with Constraints µz An Efficient Engine for Fixed points with Constraints Kryštof Hoder, Nikolaj Bjørner, and Leonardo de Moura Manchester University and Microsoft Research Abstract. The µz tool is a scalable, efficient

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

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

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

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

Numerology - A Case Study in Network Marketing Fractions

Numerology - A Case Study in Network Marketing Fractions Vers l analyse statique de programmes numériques Sylvie Putot Laboratoire de Modélisation et Analyse de Systèmes en Interaction, CEA LIST Journées du GDR et réseau Calcul, 9-10 novembre 2010 Sylvie Putot

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

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

A Classification of Model Checking-based Verification Approaches for Software Models

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

More information

Northeast Blackout of 2003

Northeast Blackout of 2003 Aug 13, 2003 Aug 14, 2003 Northeast Blackout of 2003 50 Millionen Menschen 60 Milliarden US$ because of a computer software bug in General Electric Energy's Unix-based XA/21 energy management system that

More information

Lecture 9 verifying temporal logic

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

More information

Automatic Verification by Abstract Interpretation

Automatic Verification by Abstract Interpretation Automatic Verification by Abstract Interpretation (Invited tutorial) Patrick Cousot École normale supérieure, Département d informatique, 45 rue d Ulm, 75230 Paris cedex 05, France Patrick.Cousot@ens.fr

More information

ECE 0142 Computer Organization. Lecture 3 Floating Point Representations

ECE 0142 Computer Organization. Lecture 3 Floating Point Representations ECE 0142 Computer Organization Lecture 3 Floating Point Representations 1 Floating-point arithmetic We often incur floating-point programming. Floating point greatly simplifies working with large (e.g.,

More information

School of Computer Science

School of Computer Science School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level

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

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation

A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation PLDI 03 A Static Analyzer for Large Safety-Critical Software B. Blanchet, P. Cousot, R. Cousot, J. Feret L. Mauborgne, A. Miné, D. Monniaux,. Rival CNRS École normale supérieure École polytechnique Paris

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

Comprehensive Static Analysis Using Polyspace Products. A Solution to Today s Embedded Software Verification Challenges WHITE PAPER

Comprehensive Static Analysis Using Polyspace Products. A Solution to Today s Embedded Software Verification Challenges WHITE PAPER Comprehensive Static Analysis Using Polyspace Products A Solution to Today s Embedded Software Verification Challenges WHITE PAPER Introduction Verification of embedded software is a difficult task, made

More information

Introducing Formal Methods. Software Engineering and Formal Methods

Introducing Formal Methods. Software Engineering and Formal Methods Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended

More information

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

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

More information

Access Control Based on Dynamic Monitoring for Detecting Software Malicious Behaviours

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

More information

Static vs. Dynamic Testing How Static Analysis and Run-Time Testing Can Work Together. Outline

Static vs. Dynamic Testing How Static Analysis and Run-Time Testing Can Work Together. Outline Static vs. Dynamic Testing How Static Analysis and Run-Time Testing Can Work Together S. Tucker Taft and Brian Lesuer SQGNE December 2006 Outline The Challenges Facing Software Testing A Software Testing

More information

Verification of Temporal Properties in Automotive Embedded Software

Verification of Temporal Properties in Automotive Embedded Software Verification of Temporal Properties in Automotive Embedded Software Djones Lettnin, Pradeep K. Nalla,Jürgen Ruf, Thomas Kropf and Wolfgang Rosenstiel University of Tübingen Department of Computer Engineering

More information

INF5140: Specification and Verification of Parallel Systems

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

More information

Die wichtigsten Use Cases für MISRA, HIS, SQO, IEC, ISO und Co. - Warum Polyspace DIE Embedded Code-Verifikationslösung ist.

Die wichtigsten Use Cases für MISRA, HIS, SQO, IEC, ISO und Co. - Warum Polyspace DIE Embedded Code-Verifikationslösung ist. Die wichtigsten Use Cases für MISRA, HIS, SQO, IEC, ISO und Co. - Warum Polyspace DIE Embedded Code-Verifikationslösung ist. Christian Guß Application Engineer The MathWorks GmbH 2015 The MathWorks, Inc.

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

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lecturer: Adrian O Riordan Office: Room G.71 WGB Email: a.oriordan cs.ucc.ie Course Webpage: http://www.cs.ucc.ie/~adrian/cs4507.html CS4507 Overview 5 Credit course

More information

Program Analysis: Theory and Practice

Program Analysis: Theory and Practice Introductions Program Analysis: Theory and Practice Who am I? About you? What do you want to get out of this class? Evan Chang Meeting 1: Welcome CSCI 7135, Fall 2010 http://www.cs.colorado.edu/~bec/courses/csci7135-f10/

More information

Static Analysis. Find the Bug! 15-654: Analysis of Software Artifacts. Jonathan Aldrich. disable interrupts. ERROR: returning with interrupts disabled

Static Analysis. Find the Bug! 15-654: Analysis of Software Artifacts. Jonathan Aldrich. disable interrupts. ERROR: returning with interrupts disabled Static Analysis 15-654: Analysis of Software Artifacts Jonathan Aldrich 1 Find the Bug! Source: Engler et al., Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions, OSDI

More information

Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland

Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland Software Testing & Analysis (F22ST3) Static Analysis Techniques Andrew Ireland School of Mathematical and Computer Science Heriot-Watt University Edinburgh Software Testing & Analysis (F22ST3): Static

More information

Automated Program Behavior Analysis

Automated Program Behavior Analysis Automated Program Behavior Analysis Stacy Prowell sprowell@cs.utk.edu March 2005 SQRL / SEI Motivation: Semantics Development: Most engineering designs are subjected to extensive analysis; software is

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

Model-Checking Verification for Reliable Web Service

Model-Checking Verification for Reliable Web Service Model-Checking Verification for Reliable Web Service Shin NAKAJIMA Hosei University and PRESTO, JST nkjm@i.hosei.ac.jp Abstract Model-checking is a promising technique for the verification and validation

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

Software security specification and verification

Software security specification and verification Software security specification and verification Erik Poll Security of Systems (SoS) group Radboud University Nijmegen Software (in)security specification and verification/detection Erik Poll Security

More information

Student projects. Formal Methods Group (Prof. Aichernig)

Student projects. Formal Methods Group (Prof. Aichernig) S C I E N C E P A S S I O N T E C H N O L O G Y Student projects Formal Methods Group (Prof. Aichernig) B. K. Aichernig, F. Lorber, R. Schumi, and S. Tiran, Institute for Software Technology www.tugraz.at

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

Advances in Programming Languages

Advances in Programming Languages Advances in Programming Languages Lecture 13: Certifying Correctness Ian Stark School of Informatics The University of Edinburgh Tuesday 4 November 2014 Semester 1 Week 8 http://www.inf.ed.ac.uk/teaching/courses/apl

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

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

QMC: A Model Checker for Quantum Systems

QMC: A Model Checker for Quantum Systems QMC: A Model Checker for Quantum Systems Simon J. Gay 1, Rajagopal Nagarajan 2, and Nikolaos Papanikolaou 2 1 Department of Computing Science, University of Glasgow simon@dcs.gla.ac.uk 2 Department of

More information

Reasoning about Safety Critical Java

Reasoning about Safety Critical Java Reasoning about Safety Critical Java Chris Marriott 27 th January 2011 Motivation Safety critical systems are becoming part of everyday life Failure can potentially lead to serious consequences Verification

More information

https://runtimeverification.com Grigore Rosu Founder, President and CEO Professor of Computer Science, University of Illinois

https://runtimeverification.com Grigore Rosu Founder, President and CEO Professor of Computer Science, University of Illinois https://runtimeverification.com Grigore Rosu Founder, President and CEO Professor of Computer Science, University of Illinois Runtime Verification, Inc. (RV): startup company aimed at bringing the best

More information

Analyzing Service Contract with Model Checking

Analyzing Service Contract with Model Checking Analyzing Service Contract with Model Checking Contract-Oriented Software Development for Internet Services Joseph C. Okika, Anders P. Ravn Department of Computer Science Aalborg University, Denmark FLACOS

More information

Small bug, Big bang! Jean-Jacques Lévy Iscas & Inria

Small bug, Big bang! Jean-Jacques Lévy Iscas & Inria Small bug, Big bang! Jean-Jacques Lévy Iscas & Inria June 1996 After explosion in swamps near Kourou (Guyana) Investigation committee J.-L. Lions, Gilles Kahn at 36th second, the initial reference system

More information

Secure Software Programming and Vulnerability Analysis

Secure Software Programming and Vulnerability Analysis Secure Software Programming and Vulnerability Analysis Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Testing and Source Code Auditing Secure Software Programming 2 Overview

More information

Best Practices for Verification, Validation, and Test in Model- Based Design

Best Practices for Verification, Validation, and Test in Model- Based Design 2008-01-1469 Best Practices for Verification, Validation, and in Model- Based Design Copyright 2008 The MathWorks, Inc. Brett Murphy, Amory Wakefield, and Jon Friedman The MathWorks, Inc. ABSTRACT Model-Based

More information

CSC 373: Algorithm Design and Analysis Lecture 16

CSC 373: Algorithm Design and Analysis Lecture 16 CSC 373: Algorithm Design and Analysis Lecture 16 Allan Borodin February 25, 2013 Some materials are from Stephen Cook s IIT talk and Keven Wayne s slides. 1 / 17 Announcements and Outline Announcements

More information

How To Develop A Static Analysis System For Large Programs

How To Develop A Static Analysis System For Large Programs Towards the Industrial Scale Development of Custom Static Analyzers John Anton, Eric Bush, Allen Goldberg, Klaus Havelund, Doug Smith, Arnaud Venet Kestrel Technology LLC 4984 El Camino Real #230 Los Altos,

More information

System-on-Chip Design Verification: Challenges and State-of-the-art

System-on-Chip Design Verification: Challenges and State-of-the-art System-on-Chip Design Verification: Challenges and State-of-the-art Prof. Sofiène Tahar Hardware Verification Group Concordia University Montréal, QC, CANADA MCSOC 12 Aizu-Wakamatsu, Fukushima, Japan September

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

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

Redefining Static Analysis A Standards Approach. Mike Oara CTO, Hatha Systems

Redefining Static Analysis A Standards Approach. Mike Oara CTO, Hatha Systems Redefining Static Analysis A Standards Approach Mike Oara CTO, Hatha Systems Software Analysis for Compliance Compliance Assessment Requires Software Analysis Dynamic Analysis Option Static Analysis Performed

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