Software Specification 2IX20

Size: px
Start display at page:

Download "Software Specification 2IX20"

Transcription

1 Software Specification 2IX20 Julien Schmaltz (with slides jointly with J. Tretmans, TNO&RUN) Lecture 11: Introduction to Model-Based Testing

2 Context & Motivation

3 Testing Testing: checking or measuring some quality characteristics of an executing object by performing experiments in a controlled way w.r.t. a specification tester specification IUT

4 Formal Methods F Use mathematics to model relevant parts of software F Precise, formal semantics: no room for ambiguity or misinterpretation F Allow formal validation and reasoning about systems F Amenable to tools: automation F Examples: Z Temporal Logic First order logic SDL (Specification and Description Language) LOTOS Promela Labelled Transition Systems Finite state machine Process algebra...

5 Software Testing Testing is: F important F much practiced F 30% - 50% of project effort F expensive F time critical F not constructive (but sadistic?) Improvements possible with formal methods!? But also: F ad-hoc, manual, error-prone F hardly theory / research F no attention in curricula F not cool : if you re a bad programmer you might be a tester Attitude is changing: F more awareness F more professional

6 Types of Testing Level of detail system integration module unit portability maintainability white box black box Accessibility efficiency usability reliability functionality Characteristics

7 informal ideas A Model-Based Development Process informal world validation specification formalizable world of models formal verification design code model- based testing real world realization

8 Verification and Testing Verification : F formal manipulation F prove properties F performed on model Testing : F experimentation F show error F concrete system formal world concrete world Verification is only as good as the validity of the model on which it is based Testing can only show the presence of errors, not their absence

9 Model-Based Testing FModel based testing has potential to combine practice theory - testing - formal methods FModel Based Testing : testing with respect to a (formal) model / specification state model, pre/post, CSP, Promela, UML, Spec#,.... promises better, faster, cheaper testing: algorithmic generation of tests and test oracles : tools formal and unambiguous basis for testing measuring the completeness of tests

10 Model Based Testing with Formal Methods Claims : F Formal specifications are more precise, more complete, unambiguous F Formal models can be formally verified F Formal models allow automatic generation of tests

11 Towards Model-Based Testing: Trends FIncrease in complexity, and quest for higher quality software FMore abstraction less detail model based development; OMG s UML, MDA FChecking quality Software bugs / errors cost US economy yearly: $ (~ 50 billion) ( $ 22 billion could be eliminated practice: testing - ad hoc, too late, expensive, lot of time research: formal verification - proofs, model checking,....

12 Towards Model-Based Testing: Trends Increase testing effort grows exponentially with system size testing cannot keep pace with development of complexity and size of systems x : [0..9] 10 ways that it can go wrong 10 combinations of inputs to check x : [0..9] y : [0..9] x : [0..9] y : [0..9] z : [0..9] 100 ways that it can go wrong 100 combinations of inputs to check 1000 ways that it can go wrong 1000 combinations of inputs to check

13 Testing & Formal Methods A Perfect Couple? Formal methods: F proving properties F research F sound theories F clean Testing : F trial & error F practice F heuristics F dirty hands Testing is not necessary after formal verification Testing can only detect the presence of errors, not their absence Formal methods are toys for boys Formal methods have extreme potential - but not for my project

14 Testing with Formal Methods FTesting with respect to a formal specification FPrecise, formal definition of correctness : good and unambiguous basis for testing FFormal validation of tests FAlgorithmic derivation of tests : tools for automatic test generation FAllows to define measures expressing coverage and quality of testing

15 Testing & Formal Methods Claims : FCombining the mathematically clean world of formal methods and the dirty hands world of testing FTesting and formal methods are both necessary in software development FFormal methods improve the testing process FFormal testing stimulates the use of formal methods

16 Automated Model-Based Testing IUT confto model exhaustive sound IUT passes tests TTCN test generation cases tool test tool model IUT IUT confto model pass fail

17 Approaches to Model-Based Testing Several modelling paradigms: F Finite State Machine F Pre/post-conditions Labelled Transition Systems F Labelled Transition Systems F Programs as Functions F Abstract Data Type testing

18 Model Based Testing with Transition Systems IUT confto i ioco model s exhaustive sound IUT i passes gen(s) tests pass gen test : LTS generation (TTS) tool test test execution t tool i tool s model LTS IUT i ioco confto s model IUT i IOTS pass fail

19 Formal Testing correctness criterion implementation relation specification S implementation i test generation test suite T S test execution i conforms-to s i passes T s pass / fail

20 Model-Based Testing for LTS Involves: model specification model confto = test generation implementation IUT + models of IUTs correctness test cases tests test generation IUT test execution test execution test result analysis pass / fail

21 Formal Testing with Transition Systems s LTS ioco iiut IMPS IUT IOTS = gen : LTS (TTS) T s TTS Test hypothesis : IUT IMP. i IUT IOTS. t TTS. IUT passes t i IUT passes t Proof soundness and exhaustiveness: i IOTS. ( t gen(s). i passes t ) i ioco s passes exec : : IOTS TESTS TTS {pass,fail} IMPS (OBS) pass / fail

22 LTS with inputs and outputs

23 Models: Labelled Transition Systems Labelled Transition System S, L, T, s 0 states actions initial state s 0 S transitions T S (L {τ}) S?coin!alarm?button?button

24 Labelled Transition Systems a a b a b a b a b a b a a a τ a b a b b a b c c

25 Labelled Transition Systems s dub S0 kwart S0 dub S1 transition S1 S3 coffee S2 τ S4 S0 S0 dub coffee kwart tea S3 transition composition executable sequence tea S5 S0 kwart soup non-executable sequence L = { dub,kwart, coffee,tea,soup} LTS(L) all transition systems over L

26 Labelled Transition Systems s Sequences of observable actions: dub S0 dub traces (s) = { σ L* s σ } S1 S2 traces(s) = { ε, dub, dub coffee, dub tea } S3 coffee tea S4 Reachable states: s after σ = { s s σ s } s after dub = { S1, S2 } s after dub tea = { S4 }

27 Input-Output Transition Systems dub, kwart coffee, tea S1? dub S0? kwart S2 from user to machine initiative with user machine cannot refuse from machine to user initiative with machine user cannot refuse! coffee! tea input output S3 S4 L I L U L I = {,?kwart } L U = {,!tea } L I L U = L I L U = L

28 Input-Output Transition Systems?kwart?kwart!tea?kwart Input-Output Transition Systems IOTS (L I,,L U ) LTS (L I L U ) IOTS is LTS with Input-Output?kwart?kwart and always enabled inputs: L I = {,?kwart } L U = {,!tea } for all states s, for all inputs?a L I : S?a

29 Input-Output Transition Systems?kwart?kwart?kwart!tea?kwart?kwart?kwart?kwart?kwart?kwart?kwart!tea?kwart?kwart

30 Formal Testing with Transition Systems s LTS ioco iiut IMPS IUT IOTS = gen : LTS (TTS) T s TTS Test hypothesis : IUT IMP. i IUT IOTS. t TTS. IUT passes t i IUT passes t Proof soundness and exhaustiveness: i IOTS. ( t gen(s). i passes t ) i ioco s passes exec : : IOTS TESTS TTS {pass,fail} IMPS (OBS) pass / fail

31 Labelled Transition System Testing FSPECS LTS ( L I L U ) LTS FMODS IOTS (L I, L U ) LTS FTESTS TTS ( L U, L I ) LTS FOBS traces Fobs t i Fder der : LTS ( LTS ) FWhich imp? (strong, weak, branching,... ) bisimulation trace-, testing-, refusal - preorder / equivalence conf, conf*, aconf, ioco

32 A conformance relation

33 Implementation Relation ioco Correctness expressed by implementation relation ioco: i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) Intuition: i ioco-conforms to s, iff if i produces output x after trace σ, then s can produce x after σ if i cannot produce any output after trace σ, then s cannot produce any output after σ ( quiescence δ )

34 Implementation Relation ioco Correctness expressed by implementation relation ioco: i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) p δ p =!x L U {τ}. p!x Straces ( s ) = { σ (L {δ})* s σ } p after σ = { p p σ p } out ( P ) = {!x L U p!x, p P } { δ p δ p, p P }

35 Implementation Relation ioco i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) out ( i after ε ) = { δ } i?kwart δ out ( i after ) = { } out ( i after. ) = { }?kwart out ( i after.) = out ( i after?kwart ) = { δ } { δ }?kwart δ out ( i after ) = out ( i after.!tea ) = out ( i after δ ) = { δ }

36 Implementation Relation ioco i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) i s ioco out (i after ε) = { δ } out (i after ) = { } out (i after.)= { δ } out (s after ε) = { δ } out (s after ) = { } out (s after.) = { δ }

37 Implementation Relation ioco i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) i s!tea ioco out (i after ) = { } out (s after ) = {,!tea }

38 Implementation Relation ioco i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) i s!tea ioco out (i after ) = {,!tea } out (s after ) = { }

39 Implementation Relation ioco i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) i s!tea!tea ioco out (i after ) = {,!tea } out (s after ) = {,!tea}

40 Implementation Relation ioco i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) i?kwart s?kwart!tea ioco out (i after ) = { } out (i after?kwart) = {!tea } out (s after ) = { } out (s after?kwart) = But?kwart Straces ( s )

41 Implementation Relation ioco i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) i?kwart s?kwart?kwart!tea ioco!tea out (i after ) = { } out (i after?kwart) = {!tea } out (s after ) = { } out (s after?kwart) = {!tea }

42 Implementation Relation ioco i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) i?kwart s?kwart?kwart ioco!tea?kwart out (i after?kwart) = { δ } out (s after?kwart) = {!tea }

43 Implementation Relation ioco i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) i s ioco out (i after ) = { δ, } out (s after ) = { }

44 Implementation Relation ioco i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) i s τ ioco out (i after ) = { δ, } out (s after ) = { δ, }

45 Implementation Relation ioco i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) i i ioco s s!tea s ioco i!tea!tea out (i after.) = out (s after.) = {!tea, } out (i after.δ.) = { } out (s after.δ.) = {!tea, }

46 Implementation Relation ioco?kwart?kwart ioco ioco!tea!choc?kwart!tea δ s?kwart ioco ioco!tea!choc

47 Test cases

48 Test Cases Test case t TTS TTS - Test Transition System :!dub!kwart labels in L { θ } tree-structured?coffee?tea θ finite, deterministic final states pass and fail!dub fail fail from each state pass, fail : either one input!a or all outputs?x and θ?tea θ?coffee pass pass fail

49 Test Cases!dub!kwart test case t!dub!kwart ; Start timer1?coffee?tea θ?tea?timer1 fail fail!dub fail fail?coffee!dub ; Start timer2?tea θ?coffee?tea?timer2 pass pass pass pass fail?coffee fail

50 Observations and Verdicts OBS ( L { θ } )* obs obs : TTS IOTS ( ( L { θ } )* ) obs (t,i) = { σ ( L { θ } )* t i σ pass i' or t i σ fail i' } ν t ν t : ( ( L { θ } )* ) { fail, pass } ν t (O) = pass if σ O. t σ pass = fail otherwise

51 Test Generation Look for test derivation algorithm der : LTS (TTS) such that der is sound and exhaustive: i IOTS. ( t der ( s ). ν t ( obs ( t, i ) ) = pass ) i ioco s i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) obs (t,i) = { σ (L {θ})* t i σ pass i' or t i σ fail i' } ν t (O) = pass if σ O. t σ pass = fail otherwise

52 Test Generation i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) s i test σ σ σ!x!y!x!z?x pass? y pass?z fail out (s after σ) = {!x,!y } out (i after σ) = {!x,!z } out (test after σ) = L U

53 Test Generation i ioco s = def σ Straces (s) : out (i after σ) out (s after σ) s i test σ σ σ!x!y δ!x!z δ θ?x?z?y pass pass fail pass out (s after σ) = {!x,!y, δ } out (i after σ) = {!x,!z, δ } out (test after σ) = L U { θ }

54 Test Generation Algorithm Algorithm To generate a test case t(s) from a transition system specification with S, with S set of states ( initially S = s 0 after ε ) Apply the following steps recursively, non-deterministically: 1 end test case 3 observe output pass 2 supply input forbidden outputs?y fail fail allowed outputs θ?x!a t ( S after!x ) t ( S after?a ) allowed outputs or δ:!x out ( S ) forbidden outputs or δ:!y out ( S )

55 Test Generation Example s test!dub!tea?coffee?tea θ?choc?coffee?tea θ pass?choc fail fail fail fail pass fail

56 Test Generation Example s δ test!dub δ?coffee?tea θ δ?coffee?tea θ fail pass fail fail pass

57 i Test Execution Example test!dub!tea i' Two test runs : dub tea t i i''!choc pass i'?coffee?tea?coffee θ?tea pass?choc fail fail pass fail θ?choc fail fail t i dub choc i fail i'' fails t

58 Test Execution Example i test!dub?coffee?tea θ Two test runs :?coffee?tea θ fail pass t i dub θ pass i' fail fail pass t i dub coffee θ pass i' i passes t

59 Test Generation Example Equation solver for y 2 =x specification test? x (x < 0)? x (x >= 0) otherwise!9?-3?3! x fail! - x pass!4 otherwise?2?-2 To cope with non-deterministic behaviour, tests are not linear traces, but trees fail pass pass

60 Test Execution Example implementation test? x (x < 0)!9? x (x >= 0) otherwise?-3?3! x! - x fail pass!4? y otherwise?2?-2 fail pass pass

61 Validity of Test Generation For every test t generated with algorithm we have: FSoundness : t will never fail with correct implementation i ioco s implies i passes t FExhaustiveness : each incorrect implementation can be detected with a generated test t i ioco s implies t : i fails t

62 Validity of Test Generation Theorem: FSoundness : i ioco s implies t der ( s ). ν t ( obs ( t, i ) ) = pass FExhaustiveness : t der ( s ). ν t ( obs ( t, i ) ) = pass implies i ioco s

63 Soundness and Exhaustiveness s δ test!dub δ?coffee?tea θ δ?coffee?tea θ /// fail pass pass /// fail fail fail pass Not sound Still anymore sound!!

Testing of real-time systems IOCO

Testing of real-time systems IOCO Testing of real-time systems IOCO Brian Nielsen bnielsen@cs.aau.dk With Kim Larsen, Marius Mikucionis, Arne Skou Automated Model Based Conformance Testing x>=2 Model DBLclick! click? x:=0 click? x

More information

PDF hosted at the Radboud Repository of the Radboud University Nijmegen

PDF hosted at the Radboud Repository of the Radboud University Nijmegen PDF hosted at the Radboud Repository of the Radboud University Nijmegen The following full text is a preprint version which may differ from the publisher's version. For additional information about this

More information

Software Specification 2IX20

Software Specification 2IX20 Software Specification 2IX20 Julien Schmaltz (with slides jointly with J. Tretmans, TNO&RUN) Lecture 13: Model-Based Testing III (real-timed systems) Correctness Implementation Relation ioco i ioco s =

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

Model-based testing. NATO Summer School Marktoberdorf, August, Ed Brinksma University of Twente

Model-based testing. NATO Summer School Marktoberdorf, August, Ed Brinksma University of Twente Model-based testing NATO Summer School Marktoberdorf, August, 2012 Ed Brinksma University of Twente CONTENTS 1. Introduction control-oriented testing 2. Input-output conformance testing 3. Real-time conformance

More information

system perform its tasks (performance testing), how does the system react if its environment does not behave as expected (robustness testing), and how

system perform its tasks (performance testing), how does the system react if its environment does not behave as expected (robustness testing), and how Test Generation with Inputs, Outputs, and Repetitive Quiescence Jan Tretmans Tele-Informatics and Open Systems Group Department of Computer Science University of Twente P.O. Box 17, NL-7500 AE Enschede

More information

Model-based testing. November2017

Model-based testing. November2017 Model-based testing November2017 www.axini.com Overview Who am I? Why MBT? What is MBT? MBT theory Conclusion What do you want to hear? Comparing levels of test automation Development steps Manual Script

More information

Probabilistic testing coverage

Probabilistic testing coverage Probabilistic testing coverage NICOLAE GOGA Eindhoven University of Technology P.O. Box 513, 5600 MB Eindhoven THE NETHERLANDS Abstract: This paper describes a way to compute the coverage for an on-the-fly

More information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

More information

Software Testing Lecture 7 Property Based Testing. Justin Pearson

Software Testing Lecture 7 Property Based Testing. Justin Pearson Software Testing Lecture 7 Property Based Testing Justin Pearson 2017 1 / 13 When are there enough unit tests? Lets look at a really simple example. import u n i t t e s t def add ( x, y ) : return x+y

More information

Alan Bundy. Automated Reasoning LTL Model Checking

Alan Bundy. Automated Reasoning LTL Model Checking Automated Reasoning LTL Model Checking Alan Bundy Lecture 9, page 1 Introduction So far we have looked at theorem proving Powerful, especially where good sets of rewrite rules or decision procedures have

More information

Testing Distributed Systems

Testing Distributed Systems Testing Distributed Systems R. M. Hierons Brunel University, UK rob.hierons@brunel.ac.uk http://people.brunel.ac.uk/~csstrmh Work With Jessica Chen Mercedes Merayo Manuel Nunez Hasan Ural Model Based Testing

More information

A General Testability Theory: Classes, properties, complexity, and testing reductions

A General Testability Theory: Classes, properties, complexity, and testing reductions A General Testability Theory: Classes, properties, complexity, and testing reductions presenting joint work with Luis Llana and Pablo Rabanal Universidad Complutense de Madrid PROMETIDOS-CM WINTER SCHOOL

More information

Chapter 4: Computation tree logic

Chapter 4: Computation tree logic INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification

More information

A Simplified Approach for Testing Real-Time Systems Based on Action Refinement

A Simplified Approach for Testing Real-Time Systems Based on Action Refinement A Simplified Approach for Testing Real-Time Systems Based on Action Refinement Saddek Bensalem, Moez Krichen, Lotfi Majdoub, Riadh Robbana, Stavros Tripakis Verimag Laboratory, Centre Equation 2, avenue

More information

Lecture 16: Computation Tree Logic (CTL)

Lecture 16: Computation Tree Logic (CTL) Lecture 16: Computation Tree Logic (CTL) 1 Programme for the upcoming lectures Introducing CTL Basic Algorithms for CTL CTL and Fairness; computing strongly connected components Basic Decision Diagrams

More information

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr Semantic Equivalences and the Verification of Infinite-State Systems Richard Mayr Department of Computer Science Albert-Ludwigs-University Freiburg Germany Verification of Infinite-State Systems 1 c 2004

More information

Axiomatic Semantics. Operational semantics. Good for. Not good for automatic reasoning about programs

Axiomatic Semantics. Operational semantics. Good for. Not good for automatic reasoning about programs Review Operational semantics relatively l simple many flavors (small vs. big) not compositional (rule for while) Good for describing language implementation reasoning about properties of the language eg.

More information

Software Verification

Software Verification Software Verification Grégoire Sutre LaBRI, University of Bordeaux, CNRS, France Summer School on Verification Technology, Systems & Applications September 2008 Grégoire Sutre Software Verification VTSA

More information

Algorithmic verification

Algorithmic verification Algorithmic verification Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2018 Outline Overview Model checking Symbolic execution Outline Overview Model checking Symbolic execution Program verification

More information

A framework based on implementation relations for implementing LOTOS specifications

A framework based on implementation relations for implementing LOTOS specifications Published in: Computer Networks and ISDN Systems, 25 (1992), 23-41 A framework based on implementation relations for implementing LOTOS specifications Guy Leduc Research Associate of the National Fund

More information

Model Based Testing -- FSM based testing

Model Based Testing -- FSM based testing Model Based Testing -- FSM based testing Brian Nielsen {bnielsen}@cs.aau.dk Automated Model Based Conformance Testing x>=2 Model DBLclick! click? x:=0 click? x

More information

Embedded systems specification and design

Embedded systems specification and design Embedded systems specification and design David Kendall David Kendall Embedded systems specification and design 1 / 21 Introduction Finite state machines (FSM) FSMs and Labelled Transition Systems FSMs

More information

TESTING is one of the most important parts of the

TESTING is one of the most important parts of the IEEE TRANSACTIONS 1 Generating Complete Controllable Test Suites for Distributed Testing Robert M. Hierons, Senior Member, IEEE Abstract A test suite is m-complete for finite state machine (FSM) M if it

More information

Computational Models - Lecture 3

Computational Models - Lecture 3 Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. p. 1 Computational Models - Lecture 3 Equivalence of regular expressions and regular languages (lukewarm leftover

More information

Formal Specification and Verification. Specifications

Formal Specification and Verification. Specifications Formal Specification and Verification Specifications Imprecise specifications can cause serious problems downstream Lots of interpretations even with technicaloriented natural language The value returned

More information

A Semantic Framework for Test Coverage

A Semantic Framework for Test Coverage A Semantic Framework for Test Coverage Laura Brandán Briones +, Ed Brinksma +, and Mariëlle Stoelinga + + Faculty of Computer Science, University of Twente, The Netherlands Embedded Systems Institute,

More information

Requirements Validation. Content. What the standards say (*) ?? Validation, Verification, Accreditation!! Correctness and completeness

Requirements Validation. Content. What the standards say (*) ?? Validation, Verification, Accreditation!! Correctness and completeness Requirements Validation Requirements Management Requirements Validation?? Validation, Verification, Accreditation!! Check if evrything is OK With respect to what? Mesurement associated with requirements

More information

An introduction to process calculi: Calculus of Communicating Systems (CCS)

An introduction to process calculi: Calculus of Communicating Systems (CCS) An introduction to process calculi: Calculus of Communicating Systems (CCS) Lecture 2 of Modelli Matematici dei Processi Concorrenti Paweł Sobociński University of Southampton, UK Intro to process calculi:

More information

Ins and Outs in Refusal Testing

Ins and Outs in Refusal Testing Ins and Outs in Refusal Testing Lex Heerink Ins and Outs in Refusal Testing Lex Heerink Institute for Programming Research and Algorithmics (IPA) IPA, P.O. Box 513, 5600 MB Eindhoven, The Netherlands

More information

Semantics and Verification

Semantics and Verification Semantics and Verification Lecture 2 informal introduction to CCS syntax of CCS semantics of CCS 1 / 12 Sequential Fragment Parallelism and Renaming CCS Basics (Sequential Fragment) Nil (or 0) process

More information

What we have done so far

What we have done so far What we have done so far DFAs and regular languages NFAs and their equivalence to DFAs Regular expressions. Regular expressions capture exactly regular languages: Construct a NFA from a regular expression.

More information

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for? Computer Engineering and Networks Overview Discrete Event Systems Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two circuits

More information

Testing with model checkers: A survey

Testing with model checkers: A survey COMPETENCE NETWORK SOFTNET AUSTRIA Testing with model checkers: A survey SNA-TR-2007-P2-04 Gordon Fraser, Franz Wotawa, Paul E. Ammann SNA TECHNICAL REPORT NOVEMBER 2007 Competence Network Softnet Austria,

More information

Formal Testing from Timed Finite State Machines

Formal Testing from Timed Finite State Machines Formal Testing from Timed Finite State Machines Mercedes G. Merayo a, Manuel Núñez a and Ismael Rodríguez a a Departamento de Sistemas Informáticos y Computación Universidad Complutense de Madrid, E-28040

More information

Models of Concurrency

Models of Concurrency Models of Concurrency GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Thanks to Frank Valencia Models of Concurrency p.1/57 Concurrency is Everywhere Concurrent

More information

Test generation from recursive tiles systems

Test generation from recursive tiles systems Test generation from recursive tiles systems Sébastien Chédor 1, Thierry Jéron 2, Christophe Morvan 3 1 Université de Rennes I 2 INRIA Rennes - Bretagne Atlantique, 3 Université Paris-Est, Marne-La-Vallée,

More information

Theories for Model-based Testing: Real-time and Coverage. Laura Brandán Briones

Theories for Model-based Testing: Real-time and Coverage. Laura Brandán Briones Theories for Model-based Testing: Real-time and Coverage Laura Brandán Briones Graduation committee: Prof. Dr. H. Brinksma (promotor) Prof. Dr. J. W. Fokkink Prof. Dr. P. H. Hartel Prof. Dr. K. G. Larsen

More information

A logical framework to deal with variability

A logical framework to deal with variability A logical framework to deal with variability (research in progress) M.H. ter Beek joint work with P. Asirelli, A. Fantechi and S. Gnesi ISTI CNR Università di Firenze XXL project meeting Pisa, 21 June

More information

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct.

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct. EE 244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016 Temporal logic Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley) EE 244, Fall 2016

More information

Seamless Model Driven Development and Tool Support for Embedded Software-Intensive Systems

Seamless Model Driven Development and Tool Support for Embedded Software-Intensive Systems Seamless Model Driven Development and Tool Support for Embedded Software-Intensive Systems Computer Journal Lecture - 22nd June 2009 Manfred Broy Technische Universität München Institut für Informatik

More information

Synchronizing Asynchronous Conformance Testing

Synchronizing Asynchronous Conformance Testing Synchronizing Asynchronous Conformance Testing Neda Noroozi 1,2, Ramtin Khosravi 3, Mohammad Reza Mousavi 1, and Tim A.C. Willemse 1 1 Eindhoven University of Technology, Eindhoven, The Netherlands 2 Fanap

More information

Model Checking. Boris Feigin March 9, University College London

Model Checking. Boris Feigin March 9, University College London b.feigin@cs.ucl.ac.uk University College London March 9, 2005 Outline 1 2 Techniques Symbolic 3 Software 4 Vs. Deductive Verification Summary Further Reading In a nutshell... Model checking is a collection

More information

DISTINGUISHABILITY RELATIONS BETWEEN INITIALIZED NONDETERMINISTIC FSMs. Nina Yevtushenko Tomsk State University, Russia April, 12, 2011

DISTINGUISHABILITY RELATIONS BETWEEN INITIALIZED NONDETERMINISTIC FSMs. Nina Yevtushenko Tomsk State University, Russia April, 12, 2011 DISTINGUISHABILITY RELATIONS BETWEEN INITIALIZED NONDETERMINISTIC FSMs Nina Yevtushenko Tomsk State University, Russia April, 12, 2011 Outline 1. Why do we need distinguishability relations? 2. External

More information

Modal and Temporal Logics

Modal and Temporal Logics Modal and Temporal Logics Colin Stirling School of Informatics University of Edinburgh July 23, 2003 Why modal and temporal logics? 1 Computational System Modal and temporal logics Operational semantics

More information

Formal Conformance Testing 2006

Formal Conformance Testing 2006 Formal Conformance Testing 2006 Lecture 1 14th Sep 2006 Welcome! This is T-79.5304: Formal Conformance Testing Lectures from 10 to 12 am, no regular tutorials Cancellations and other notes at the web page

More information

Model Checking: An Introduction

Model Checking: An Introduction Model Checking: An Introduction Meeting 3, CSCI 5535, Spring 2013 Announcements Homework 0 ( Preliminaries ) out, due Friday Saturday This Week Dive into research motivating CSCI 5535 Next Week Begin foundations

More information

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1 using Predicate Abstraction and Iterative Refinement: Part 1 15-414 Bug Catching: Automated Program Verification and Testing Sagar Chaki November 28, 2011 Outline Overview of Model Checking Creating Models

More information

ENES 489p. Verification and Validation: Logic and Control Synthesis

ENES 489p. Verification and Validation: Logic and Control Synthesis 11/18/14 1 ENES 489p Verification and Validation: Logic and Control Synthesis Mumu Xu mumu@umd.edu November 18, 2014 Institute for Systems Research Aerospace Engineering University of Maryland, College

More information

Finite-State Model Checking

Finite-State Model Checking EECS 219C: Computer-Aided Verification Intro. to Model Checking: Models and Properties Sanjit A. Seshia EECS, UC Berkeley Finite-State Model Checking G(p X q) Temporal logic q p FSM Model Checker Yes,

More information

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007 Dynamic Noninterference Analysis Using Context Sensitive Static Analyses Gurvan Le Guernic July 14, 2007 1 Abstract This report proposes a dynamic noninterference analysis for sequential programs. This

More information

Knowledge base (KB) = set of sentences in a formal language Declarative approach to building an agent (or other system):

Knowledge base (KB) = set of sentences in a formal language Declarative approach to building an agent (or other system): Logic Knowledge-based agents Inference engine Knowledge base Domain-independent algorithms Domain-specific content Knowledge base (KB) = set of sentences in a formal language Declarative approach to building

More information

Erly Marsh - a Model-Based Testing tool. Johan Blom, PhD

Erly Marsh - a Model-Based Testing tool. Johan Blom, PhD Erly Marsh - a Model-Based Testing tool Johan Blom, PhD 1 Motivation Mobile Arts Develops server software for mobile telecom operators (Location server, SMSC etc.) Implementations rather big and complicated

More information

Time and Timed Petri Nets

Time and Timed Petri Nets Time and Timed Petri Nets Serge Haddad LSV ENS Cachan & CNRS & INRIA haddad@lsv.ens-cachan.fr DISC 11, June 9th 2011 1 Time and Petri Nets 2 Timed Models 3 Expressiveness 4 Analysis 1/36 Outline 1 Time

More information

Model Checking & Program Analysis

Model Checking & Program Analysis Model Checking & Program Analysis Markus Müller-Olm Dortmund University Overview Introduction Model Checking Flow Analysis Some Links between MC and FA Conclusion Apology for not giving proper credit to

More information

Advanced Topics in LP and FP

Advanced Topics in LP and FP Lecture 1: Prolog and Summary of this lecture 1 Introduction to Prolog 2 3 Truth value evaluation 4 Prolog Logic programming language Introduction to Prolog Introduced in the 1970s Program = collection

More information

Revisiting Synthesis of GR(1) Specifications

Revisiting Synthesis of GR(1) Specifications Revisiting Synthesis of GR(1) Specifications Uri Klein & Amir Pnueli Courant Institute of Mathematical Sciences, NYU Haifa Verification Conference, October 2010 What Is Synthesis? Rather than implement

More information

Introduction. Pedro Cabalar. Department of Computer Science University of Corunna, SPAIN 2013/2014

Introduction. Pedro Cabalar. Department of Computer Science University of Corunna, SPAIN 2013/2014 Introduction Pedro Cabalar Department of Computer Science University of Corunna, SPAIN cabalar@udc.es 2013/2014 P. Cabalar ( Department Introduction of Computer Science University of Corunna, SPAIN2013/2014

More information

Software Testing Lecture 5. Justin Pearson

Software Testing Lecture 5. Justin Pearson Software Testing Lecture 5 Justin Pearson 2017 1 / 34 Covering Logical Expressions Logic expression show up in many situations Covering logical expressions have a long history, many are the covering criteria

More information

LTL Model Checking. Wishnu Prasetya.

LTL Model Checking. Wishnu Prasetya. LTL Model Checking Wishnu Prasetya wishnu@cs.uu.nl www.cs.uu.nl/docs/vakken/pv Overview This pack : Abstract model of programs Temporal properties Verification (via model checking) algorithm Concurrency

More information

Interpreting a successful testing process: risk and actual coverage

Interpreting a successful testing process: risk and actual coverage Interpreting a successful testing process: risk and actual coverage Mariëlle Stoelinga and Mark Timmer Faculty of Computer Science, University of Twente, The Netherlands {marielle, timmer}@cs.utwente.nl

More information

Testing for Refinement in CSP

Testing for Refinement in CSP Author manuscript, published in "Formal Methods and Software Engineering, ICFEM 2007, Boca-Raton : United States (2007)" Testing for Refinement in CSP Ana Cavalcanti 1 and Marie-Claude Gaudel 2 1 University

More information

Research Report 326 ISBN ISSN

Research Report 326 ISBN ISSN University of Oslo Department of Informatics How to transform UML neg into a useful construct Ragnhild Kobro Runde, Øystein Haugen, Ketil Stølen Research Report 326 ISBN 82-7368-280-3 ISSN 0806-3036 November

More information

Model-based conformance test generation for timed systems

Model-based conformance test generation for timed systems Model-based conformance test generation for timed systems Thierry Jéron Joint work with Nathalie Bertrand, Amélie Stainer, Moez Krichen INRIA Rennes - Bretagne Atlantique, France Thierry.Jeron@inria.fr

More information

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either Introduction to Temporal Logic The purpose of temporal logics is to specify properties of dynamic systems. These can be either Desired properites. Often liveness properties like In every infinite run action

More information

Lecture 11: Timed Automata

Lecture 11: Timed Automata Real-Time Systems Lecture 11: Timed Automata 2014-07-01 11 2014-07-01 main Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Last Lecture: DC (un)decidability This Lecture:

More information

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms Wen-ling Huang and Jan Peleska University of Bremen {huang,jp}@cs.uni-bremen.de MBT-Paradigm Model Is a partial

More information

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino Formal Verification Techniques Riccardo Sisto, Politecnico di Torino State exploration State Exploration and Theorem Proving Exhaustive exploration => result is certain (correctness or noncorrectness proof)

More information

Real-Time Systems. Lecture 10: Timed Automata Dr. Bernd Westphal. Albert-Ludwigs-Universität Freiburg, Germany main

Real-Time Systems. Lecture 10: Timed Automata Dr. Bernd Westphal. Albert-Ludwigs-Universität Freiburg, Germany main Real-Time Systems Lecture 10: Timed Automata 2013-06-04 10 2013-06-04 main Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Last Lecture: PLC, PLC automata This Lecture:

More information

Model Based Testing : principles and applications in the context of timed systems

Model Based Testing : principles and applications in the context of timed systems A. Rollet - ETR2011 - Brest (France) - August 2011 1/63 Model Based Testing : principles and applications in the context of timed systems Antoine Rollet Université de Bordeaux - LaBRI (UMR CNRS 5800),

More information

Computational Models #1

Computational Models #1 Computational Models #1 Handout Mode Nachum Dershowitz & Yishay Mansour March 13-15, 2017 Nachum Dershowitz & Yishay Mansour Computational Models #1 March 13-15, 2017 1 / 41 Lecture Outline I Motivation

More information

Testing System Conformance for Cyber-Physical Systems

Testing System Conformance for Cyber-Physical Systems Testing System Conformance for Cyber-Physical Systems Testing systems by walking the dog Rupak Majumdar Max Planck Institute for Software Systems Joint work with Vinayak Prabhu (MPI-SWS) and Jyo Deshmukh

More information

Example. Lemma. Proof Sketch. 1 let A be a formula that expresses that node t is reachable from s

Example. Lemma. Proof Sketch. 1 let A be a formula that expresses that node t is reachable from s Summary Summary Last Lecture Computational Logic Π 1 Γ, x : σ M : τ Γ λxm : σ τ Γ (λxm)n : τ Π 2 Γ N : τ = Π 1 [x\π 2 ] Γ M[x := N] Georg Moser Institute of Computer Science @ UIBK Winter 2012 the proof

More information

Lecture Notes on Compositional Reasoning

Lecture Notes on Compositional Reasoning 15-414: Bug Catching: Automated Program Verification Lecture Notes on Compositional Reasoning Matt Fredrikson Ruben Martins Carnegie Mellon University Lecture 4 1 Introduction This lecture will focus on

More information

Computational Models - Lecture 1 1

Computational Models - Lecture 1 1 Computational Models - Lecture 1 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. February 29/ March 02, 2016 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames

More information

COMP219: Artificial Intelligence. Lecture 19: Logic for KR

COMP219: Artificial Intelligence. Lecture 19: Logic for KR COMP219: Artificial Intelligence Lecture 19: Logic for KR 1 Overview Last time Expert Systems and Ontologies Today Logic as a knowledge representation scheme Propositional Logic Syntax Semantics Proof

More information

A Modern Mathematical Theory of Co-operating State Machines

A Modern Mathematical Theory of Co-operating State Machines 201 A Modern Mathematical Theory of Co-operating State Machines Antti Valmari Abstract Valmari, Antti (2005). A Modern Mathematical Theory of Co-operating State Machines In Proceedings of the Algorithmic

More information

Hoare Logic I. Introduction to Deductive Program Verification. Simple Imperative Programming Language. Hoare Logic. Meaning of Hoare Triples

Hoare Logic I. Introduction to Deductive Program Verification. Simple Imperative Programming Language. Hoare Logic. Meaning of Hoare Triples Hoare Logic I Introduction to Deductive Program Verification Işıl Dillig Program Spec Deductive verifier FOL formula Theorem prover valid contingent Example specs: safety (no crashes), absence of arithmetic

More information

Computational Models - Lecture 4

Computational Models - Lecture 4 Computational Models - Lecture 4 Regular languages: The Myhill-Nerode Theorem Context-free Grammars Chomsky Normal Form Pumping Lemma for context free languages Non context-free languages: Examples Push

More information

Model-based Mutation Testing via Symbolic Refinement Checking

Model-based Mutation Testing via Symbolic Refinement Checking Model-based Mutation Testing via Symbolic Refinement Checking Bernhard K. Aichernig a, Elisabeth Jöbstl a, Stefan Tiran a,b a Institute for Software Technology, Graz University of Technology Inffeldgasse

More information

Logic Model Checking

Logic Model Checking Logic Model Checking Lecture Notes 10:18 Caltech 101b.2 January-March 2004 Course Text: The Spin Model Checker: Primer and Reference Manual Addison-Wesley 2003, ISBN 0-321-22862-6, 608 pgs. the assignment

More information

Testing from a Finite State Machine: An introduction 1

Testing from a Finite State Machine: An introduction 1 Testing from a Finite State Machine: An introduction 1 The use of Finite State Machines (FSM) to model systems has lead to much interest in deriving tests from them. Having derived a test sequence from

More information

Hoare Logic: Reasoning About Imperative Programs

Hoare Logic: Reasoning About Imperative Programs Hoare Logic: Reasoning About Imperative Programs COMP1600 / COMP6260 Dirk Pattinson Australian National University Semester 2, 2018 Programming Paradigms Functional. (Haskell, SML, OCaml,... ) main paradigm:

More information

On testing UML statecharts

On testing UML statecharts The Journal of Logic and Algebraic Programming 69 (2006) 1 74 www.elsevier.com/locate/jlap On testing UML statecharts Mieke Massink, Diego Latella, Stefania Gnesi CNR/Istituto di Scienza e Tecnologie dell

More information

Kim Guldstrand Larsen DENMARK

Kim Guldstrand Larsen DENMARK Quantitative Modal Transition Systems Kim Guldstrand Larsen Aalborg University Aalborg University, DENMARK The Early Days Edinburgh 83-85 Kim Larsen [2] Milner Symposium, Edinburgh, April 16-18, 2012 Original

More information

The TLA + proof system

The TLA + proof system The TLA + proof system Stephan Merz Kaustuv Chaudhuri, Damien Doligez, Leslie Lamport INRIA Nancy & INRIA-MSR Joint Centre, France Amir Pnueli Memorial Symposium New York University, May 8, 2010 Stephan

More information

Description Logics. Deduction in Propositional Logic. franconi. Enrico Franconi

Description Logics. Deduction in Propositional Logic.   franconi. Enrico Franconi (1/20) Description Logics Deduction in Propositional Logic Enrico Franconi franconi@cs.man.ac.uk http://www.cs.man.ac.uk/ franconi Department of Computer Science, University of Manchester (2/20) Decision

More information

Industrial-Strength Model-Based Testing - State of the Art and Current Challenges

Industrial-Strength Model-Based Testing - State of the Art and Current Challenges Industrial-Strength Model-Based Testing - State of the Art and Current Challenges Jan Peleska University of Bremen, Department of Mathematics and Computer Science, Bremen, Germany Verified Systems International

More information

Timed Testing with TorX

Timed Testing with TorX Timed Testing with TorX Henrik Bohnenkamp and Axel Belinfante Formal Methods and Tools Department of Computer Science, University of Twente Postbus 217, NL-7500 AE Enschede, The Netherlands {bohnenka belinfan}@cs.utwente.nl

More information

Lecture 3: Semantics of Propositional Logic

Lecture 3: Semantics of Propositional Logic Lecture 3: Semantics of Propositional Logic 1 Semantics of Propositional Logic Every language has two aspects: syntax and semantics. While syntax deals with the form or structure of the language, it is

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Xiangyu Zhang The slides are compiled from Alex Aiken s Michael D. Ernst s Sorin Lerner s A Scary Outline Type-based analysis Data-flow analysis Abstract interpretation Theorem

More information

Computation Tree Logic (CTL) & Basic Model Checking Algorithms

Computation Tree Logic (CTL) & Basic Model Checking Algorithms Computation Tree Logic (CTL) & Basic Model Checking Algorithms Martin Fränzle Carl von Ossietzky Universität Dpt. of Computing Science Res. Grp. Hybride Systeme Oldenburg, Germany 02917: CTL & Model Checking

More information

Chapter 3 Deterministic planning

Chapter 3 Deterministic planning Chapter 3 Deterministic planning In this chapter we describe a number of algorithms for solving the historically most important and most basic type of planning problem. Two rather strong simplifying assumptions

More information

Intelligent Agents. Formal Characteristics of Planning. Ute Schmid. Cognitive Systems, Applied Computer Science, Bamberg University

Intelligent Agents. Formal Characteristics of Planning. Ute Schmid. Cognitive Systems, Applied Computer Science, Bamberg University Intelligent Agents Formal Characteristics of Planning Ute Schmid Cognitive Systems, Applied Computer Science, Bamberg University Extensions to the slides for chapter 3 of Dana Nau with contributions by

More information

Introduction to Axiomatic Semantics

Introduction to Axiomatic Semantics Introduction to Axiomatic Semantics Meeting 9, CSCI 5535, Spring 2009 Announcements Homework 3 is out, due Mon Feb 16 No domain theory! Homework 1 is graded Feedback attached 14.2 (mean), 13 (median),

More information

CS477 Formal Software Dev Methods

CS477 Formal Software Dev Methods CS477 Formal Software Dev Methods Elsa L Gunter 2112 SC, UIUC egunter@illinois.edu http://courses.engr.illinois.edu/cs477 Slides based in part on previous lectures by Mahesh Vishwanathan, and by Gul Agha

More information

Propositional Calculus - Hilbert system H Moonzoo Kim CS Division of EECS Dept. KAIST

Propositional Calculus - Hilbert system H Moonzoo Kim CS Division of EECS Dept. KAIST Propositional Calculus - Hilbert system H Moonzoo Kim CS Division of EECS Dept. KAIST moonzoo@cs.kaist.ac.kr http://pswlab.kaist.ac.kr/courses/cs402-07 1 Review Goal of logic To check whether given a formula

More information

Characterizing Fault-Tolerant Systems by Means of Simulation Relations

Characterizing Fault-Tolerant Systems by Means of Simulation Relations Characterizing Fault-Tolerant Systems by Means of Simulation Relations TECHNICAL REPORT Ramiro Demasi 1, Pablo F. Castro 2,3, Thomas S.E. Maibaum 1, and Nazareno Aguirre 2,3 1 Department of Computing and

More information

Abstraction for Falsification

Abstraction for Falsification Abstraction for Falsification Thomas Ball 1, Orna Kupferman 2, and Greta Yorsh 3 1 Microsoft Research, Redmond, WA, USA. Email: tball@microsoft.com, URL: research.microsoft.com/ tball 2 Hebrew University,

More information

Reasoning about Strategies: From module checking to strategy logic

Reasoning about Strategies: From module checking to strategy logic Reasoning about Strategies: From module checking to strategy logic based on joint works with Fabio Mogavero, Giuseppe Perelli, Luigi Sauro, and Moshe Y. Vardi Luxembourg September 23, 2013 Reasoning about

More information