Testing Transition Systems with Input and Output Testers Alexandre Petrenko Nina Yevtushenko Jia Le Huo TestCom’03, May 27 th, 2003.

Slides:



Advertisements
Similar presentations
Black Box Checking Book: Chapter 9 Model Checking Finite state description of a system B. LTL formula. Translate into an automaton P. Check whether L(B)
Advertisements

Process Algebra Book: Chapter 8. The Main Issue Q: When are two models equivalent? A: When they satisfy different properties. Q: Does this mean that the.
Model-Based Testing and Test-Based Modelling
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Grey Box testing Tor Stålhane. What is Grey Box testing Grey Box testing is testing done with limited knowledge of the internal of the system. Grey Box.
Programming Types of Testing.
Formal Conformance Testing of Systems with Refused Inputs and Forbidden Actions Igor Burdonov, Alexander Kossatchev, Victor Kuliamin ISP RAS, Moscow.
Iterative Context Bounding for Systematic Testing of Multithreaded Programs Madan Musuvathi Shaz Qadeer Microsoft Research.
Distributed Computing 8. Impossibility of consensus Shmuel Zaks ©
Software testing.
Automated Model-Based Testing of Hybrid Systems Michiel van Osch PROSE January 25,
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture2: Non Deterministic Finite Automata Prof. Amos Israeli.
Model-based Testing of Hybrid Systems Michiel van Osch IPA Spring Days on Testing 19 April – 21 April 2006.
1 Operational Semantics Mooly Sagiv Tel Aviv University Textbook: Semantics with Applications.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
ECE C03 Lecture 131 Lecture 13 Finite State Machine Optimization Prith Banerjee ECE C03 Advanced Digital Design Spring 1998.
1 Jan Tretmans Embedded Systems Institute Eindhoven Radboud University Nijmegen Model-Based Testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
1 Jan Tretmans University of Nijmegen © Jan Tretmans University of Nijmegen Model Based Testing Property Checking for Real.
Operational Semantics Semantics with Applications Chapter 2 H. Nielson and F. Nielson
CSCI 3301 Transparency No. 9-1 Chapter #9: Finite State Machine Optimization Contemporary Logic Design.
Software Testing and QA Theory and Practice (Chapter 10: Test Generation from FSM Models) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory.
1 Jan Tretmans Embedded Systems Institute Eindhoven, NL Radboud University Nijmegen, NL Model-Based Testing with Labelled Transition.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software testing techniques 3. Software testing
The State of Hybrid Model-Based Testing Michiel van Osch
NFA ε - NFA - DFA equivalence. What is an NFA An NFA is an automaton that its states might have none, one or more outgoing arrows under a specific symbol.
Testing with Formal Methods Ed Brinksma course 2004 A Formal Framework.
 Computability Theory Turing Machines Professor MSc. Ivan A. Escobar
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Model Based Testing Group 7  Nishanth Chandradas ( )  George Stavrinides ( )  Jeyhan Hizli ( )  Talvinder Judge ( )  Saajan.
Grey Box testing Tor Stålhane. What is Grey Box testing Grey Box testing is testing done with limited knowledge of the internal of the system. Grey Box.
Conformance Test Suites, Extensionally Arend Rensink University of Twente Dutch Workshop on Formal Testing Techniques University of Twente 13 September.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
Chapter 22: Using Best Practices 1 STAT 541 ©Spring 2012 Imelda Go, John Grego, Jennifer Lasecki and the University of South Carolina.
Synchronization Methods in Message Passing Model.
1 Black-box conformance testing for real-time systems Stavros Tripakis VERIMAG Joint work with Moez Krichen.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
CS294, Yelick Consensus revisited, p1 CS Consensus Revisited
Time Parallel Simulations I Problem-Specific Approach to Create Massively Parallel Simulations.
Model-driven Test Generation Oleg Sokolsky September 22, 2004.
 In computer programming, a loop is a sequence of instruction s that is continually repeated until a certain condition is reached.  PHP Loops :  In.
© The McGraw-Hill Companies, 2006 Chapter 3 Iteration.
A First Book of C++ Chapter 4 Selection. Objectives In this chapter, you will learn about: –Relational Expressions –The if-else Statement –Nested if Statements.
Markov Decision Process (MDP)
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Solving problems by searching A I C h a p t e r 3.
Formal Testing with Input-Output Transition Systems Ed Brinksma Course 2004.
Operational Semantics Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
1 Introduction to Turing Machines
Test Generation for Input/Output Transition Systems Ed Brinksma Course 2004.
Operational Semantics Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson
 2005 SDU Lecture11 Decidability.  2005 SDU 2 Topics Discuss the power of algorithms to solve problems. Demonstrate that some problems can be solved.
1 Jay Ligatti (Princeton University); joint work with: Lujo Bauer (Carnegie Mellon University), David Walker (Princeton University) Enforcing Non-safety.
The WRITING PROCESS First things first It’s Basic
Dr. Eng. Amr T. Abdel-Hamid
CPE555A: Real-Time Embedded Systems
Automatic Verification
Turing Machines 2nd 2017 Lecture 9.
Chapter 2 FINITE AUTOMATA.
Software testing.
Algorithms Take a look at the worksheet. What do we already know, and what will we have to learn in this term?
Implement FSM with fewest possible states • Least number of flip flops
Test Driven Development
Recall last lecture and Nondeterministic TMs
2) For each of the finite state machines above, use the sets derived in part 1) to produce the following:   i.                  a set of sequences that.
Conformance Testing with State Mapping
Test Driven Development
A test generation framework for quiescent real-time systems
Presentation transcript:

Testing Transition Systems with Input and Output Testers Alexandre Petrenko Nina Yevtushenko Jia Le Huo TestCom’03, May 27 th, 2003

2 Outline Motivation Basic idea Testing frameworks –Queued-quiescence –Queued-suspension Conclusions

3 Conformance Testing SpecImp TestsTest execution Does Imp conform to Spec? Fault model 

4 Input/Output Transition Systems Non-deterministic IOTS: model of Spec and Imp Output of IOTS cannot be blocked: basic assumption Spec and Imp are input-enabled coin coffee, milk  ?coin !coffee !milk ?coin Spec

5 ?coin Motivating Example ?coin !coffee !milk ?coin !coffee !milk ?coin !coffee SpecImp Quiescent trace coin coin coffee milk yields the ioco test case: fail coin coffee milk, coffee pass  milk,  fail ?coin Is the test case still sound if output of Spec cannot be blocked?

6 Contradiction The ioco test case blocks coffee after coin Output of IOTS cannot be blocked: basic assumption How can I block a coffee on its way out?

7 Problem Statement A tester not blocking output of Imp must be input-enabled An input-enabled tester usually –has unbounded test runs –makes choice between input and output Both features are not desirable in practice We have to define a tester that –is input-enabled –reaches verdict in finite steps –never chooses between input and output

8 Basic Idea Tester Imp Output queue finite capacity for practical reasons Input test process executes a given input sequence Output test process produces pass when an expected output sequence followed by quiescence is read from the queue and fail otherwise Input-enabled, and no choice between input and output Input queue

9 Queued-Quiescent Traces For a quiescent trace  of Spec,   I   O   Qqtraces(Spec) For input sequence , Qqtraces o (Spec,  ) includes all the output sequences in response to  : {  '   O*  |  '   Qqtraces(Spec)} Qqtraces(Spec) = Qqtraces(Imp) (qq-trace equivalent) ?coin !coffee !milk ?coin Spec ?coin !coffee !milk ?coin !coffee Imp !coffee !milk    Qqtraces o (Spec,  ) !coffee !milk    Qqtraces o (Imp,  )

10 Queued-Quiescence Relations For non-oscillating Spec and Imp, if input sequence  exists such that : –Qqtraces o (Imp,  )  Qqtraces o (Spec,  ) =  (no pass) then Imp is qq-separable from Spec –Qqtraces o (Imp,  ) Qqtraces o (Spec,  ) (  fail,  pass) then Imp is qq-distinguishable from Spec –Qqtraces o (Imp,  )  Qqtraces o (Spec,  ) (no fail) then Imp is qq-weakly-distinguishable from Spec qq-separable  qq-distinguishable  qq-weakly- distinguishable

11 Test Derivation with Fault Model  Given Spec and Imp, check input sequences of length 0, 1, 2, … until a sequence is found such that –qq-separates, or –qq-distinguishes, or –qq-weakly-distinguishes Imp from Spec, or –the input buffer capacity k is reached Repeat for all Imp   k = ?

12 A Finer Tester After executing the qq-test case with input coin on Spec and Imp !coin ?coin !coffee !milk ?coin !coffee !milk ?coin !coffee SpecImp fail ?milk pass   fail ?milk, ?coffee  ?milk, ?coffee,  The resulting IOTS can be distinguished by a qq-test case: ?coin

13 Queued-Suspension Testing 11 22  11  qq-test case of Spec-after-(  1,  11 ) qs traces are sequences of qq traces executed by the qq testers: (  1  1i  )(  2  2j  )...(  n  nk  ) 22  12  qq-test case of Spec-after-(  1,  12 )... 33  21  22  23   24   25  33 33 33 33 qq-test case of Spec

14 Conclusions Outputs cannot be blocked: basic assumption Testing frameworks: qq and qs Comparison with the ioco framework: –information of Interleaving of inputs and ouputs are lost –so the conformance relations are coarser than ioco –but ioco testing is not applicable here Open questions: oscillating Spec, k = ?, etc

15 Merci beaucoup!

16 An Example ?coin !coffee !milk ?coin Spec coin Output queue (capacity  2) Input queue (capacity  2) ?coin !coffee !milk ?coin    !milk ?coin  !coffee

17 An example (Cntd.) We have coin coffee milk pass  fail When the ioco test case below is applied to Spec with queues fail coin coffee milk, coffee pass  milk,  fail Is this test case still sound?