Theories for Model-based Testing: Real-time and Coverage

In the last years, increasingly complex systems are being put in charge of critical tasks. When these complex systems, are drive by sophisticated software, they need to attain a high degree of reliability. Unfortunately, developing correct systems is difficult, and in the past there have been several complex systems that went wrong because they lacked serious analysis of their potential behaviour. In this thesis, we study an effective way of obtaining confidence on the correctness of a system, known as testing. Testing is the systematic process of finding errors in a system by means of extensively experimenting with it. In order to successfully test a system, it is crucially needed to count with both effective test cases and feasible strategies to execute them. Fortunately, work in formal methods helps us achieving this task in a precise and rigorous manner. A particularly successful formal theory of testing is the ioco theory, devised by Tretmans to work on labelled input-output transition systems. The theory smoothly covers issues like nondeterminism and quiescence (that is, the notion representing the absence of outputs). The ioco testing theory is clean and precise, and is the basis used in successful testing tools, like the TORX tool and the TGV tool. In this thesis we extend the ioco testing theory in three important directions, as follows. Our first extension concerns the addition of real-time, which is crucial to the analysis of several systems (e.g., systems where actions are required to occur in a precise moment). New models and formalisms that take into account real-time are introduced. Furthermore, we develop a new testing relation between these real-time models, and a sound and exhaustive algorithm to derive tests for that relation.

[1]  Erik Harald Saaman,et al.  Another formal specification language , 2000 .

[2]  Daniel R. Tauritz,et al.  Adaptive Information Filtering: Concepts and Algorithms , 2002 .

[3]  B. D. Fluiter Algorithms for graphs of small treewidth , 1997 .

[4]  K. Larsen,et al.  Online Testing of Real-time Systems Using Uppaal , 2004, FATES.

[5]  J. P. Warners,et al.  Nonlinear approaches to satisfiability problems , 1999 .

[6]  D. Turi,et al.  Functional Operational Semantics and its Denotational Dual , 1996 .

[7]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[8]  Isabelle Reymen Improving design processes through structured reflection : case studies , 2001 .

[9]  Sebastian Maneth,et al.  Models of tree translation , 2004 .

[10]  Margus Veanes,et al.  Optimal strategies for testing nondeterministic systems , 2004, ISSTA '04.

[11]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[12]  Theodorus Cornelis Ruys,et al.  Towards effective model checking , 2001 .

[13]  Lex Heerink,et al.  Ins and Outs in Refusal Testing , 1998 .

[14]  Ad M. G. Peeters,et al.  An asynchronous low-power 80C51 microcontroller , 1998, Proceedings Fourth International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[15]  David L. Dill,et al.  Timing Assumptions and Verification of Finite-State Concurrent Systems , 1989, Automatic Verification Methods for Finite State Systems.

[16]  Ferhat Khendek,et al.  Timed test cases generation based on state characterization technique , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[17]  Laura Brandán Briones,et al.  Test Derivation from Timed Automata , 2004, Model-Based Testing of Reactive Systems.

[18]  Jan Tretmans,et al.  TorX: Automated Model-Based Testing , 2003 .

[19]  B. Gebremichael-Tesfagiorgis,et al.  Expressivity of Timed Automata Models , 2006 .

[20]  Iso. Lotos,et al.  A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour , 1985 .

[21]  J Jan Zwanenburg,et al.  Object-oriented concepts and proof rules : formalization in type theory and implementation in Yarrow , 1999 .

[22]  RJ Roy Willemen,et al.  School timetable construction : algorithms and complexity , 2002 .

[23]  Ansgar Fehnker,et al.  Citius, Vilius, Melius : guiding and cost-optimality in model checking of timed and hybrid systems , 2002 .

[24]  Manfred Broy,et al.  Model-Based Testing of Reactive Systems, Advanced Lectures , 2005 .

[25]  A. G. Engels,et al.  Languages for analysis and testing of event sequences , 2001 .

[26]  R. S. Venema,et al.  Aspects of an integrated neural prediction system , 1999 .

[27]  Ed Brinksma,et al.  On the Coverage of Partial Validations , 1993, AMAST.

[28]  Joao Paulo Saraiva,et al.  Purely Functional Implementation of Attribute Grammars , 1999 .

[29]  T. Kuipers,et al.  Techniques for understanding legacy software systems , 2002 .

[30]  Peter Achten,et al.  Interactive functional programs: models, methods, and implementation , 1996 .

[31]  N.J.M. van den Nieuwelaar,et al.  Supervisory machine control by predictive-reactive scheduling , 2004 .

[32]  J. Wessels,et al.  Faculty of Mathematics and Computing Science , 1988 .

[33]  Reinder J. Bril,et al.  Real-time scheduling for media processing using conditionally guaranteed budgets , 2004 .

[34]  Rocco De Nicola,et al.  Extensional equivalences for transition systems , 1987, Acta Informatica.

[35]  Axel Belinfante,et al.  Automated Testing in Practice: The Highway Tolling System , 2002, TestCom.

[36]  Gabriele Lenzini,et al.  Integration of Analysis Techniques in Security and Fault-Tolerance , 2005 .

[37]  Bengt Jonsson,et al.  Probabilistic Process Algebra , 2001 .

[38]  Jurriaan Hage,et al.  Structural Aspects Of Switching Classes , 2001 .

[39]  Maria Eva Magdalena Lijding,et al.  Real-Time Scheduling of Tertiary Storage , 2003 .

[40]  M. A. Valero Espada,et al.  Modal Abstraction and Replication of Processes with Data , 2005 .

[41]  Thomas Ball,et al.  A Theory of Predicate-Complete Test Coverage and Generation , 2004, FMCO.

[42]  M. Oostdijk Generation and presentation of formal mathematical documents , 2001 .

[43]  Hendrik Brinksma,et al.  Testing multi input-output real-time systems (Extended version) , 2005 .

[44]  Gilles Bernot,et al.  Testing Against Formal Specifications: A Theoretical View , 1991, TAPSOFT, Vol.2.

[45]  J. Ketema,et al.  Bohm-Like Trees for Rewriting , 2006 .

[46]  Jianping Wu,et al.  Testing Multi Input/Output Transition System with All-Observer , 2004, TestCom.

[47]  Marcel Kyas,et al.  Verifying OCL specifications of UML models: tool support and compositionakity , 2006 .

[48]  M. B. van der Zwaag,et al.  Models and logics for process algebra , 2002 .

[49]  V Victor Bos,et al.  Formal specification and analysis of industrial systems , 2002 .

[50]  Wpaj Wil Michiels Performance ratios for the differencing method , 2004 .

[51]  Thierry Jéron,et al.  Automated test generation from SDL specifications , 1999, SDL Forum.

[52]  Pedro R. D'Argenio,et al.  Algebras and Automata for Timed and Stochastic Systems , 1999 .

[53]  Cees van Kemenade,et al.  Recombinative evolutionary search , 1999 .

[54]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[55]  M. Bonsangue,et al.  Topological Dualities in Semantics , 1996 .

[56]  Rocco De Nicola,et al.  Testing Equivalences for Processes , 1984, Theor. Comput. Sci..

[57]  Nikolay Kavaldjiev,et al.  A run-time reconfigurable Network-on-Chip for streaming DSP applications , 2006 .

[58]  Fabien Peureux,et al.  I/O-automata Based Testing , 2004, Model-Based Testing of Reactive Systems.

[59]  G. Rozenberg,et al.  Effective models for the structure of ð-calculus processes with replication , 2001 .

[60]  Juan Visente Guillen Scholten,et al.  Mobile Channels for Exogenous Coordination of Distributed Systems: Semantics, Implementation and Composition , 2007 .

[61]  Henrik C. Bohnenkamp,et al.  Timed Testing with TorX , 2005, FM.

[62]  R. V. Glabbeek The Linear Time-Branching Time Spectrum I The Semantics of Concrete , Sequential ProcessesR , 2007 .

[63]  G Georgina Fabian,et al.  A language and simulator for hybrid systems , 1999 .

[64]  I C M Ingrid Flinsenberg,et al.  Route Planning Algorithms for Car Navigation , 2009 .

[65]  Cruz Filipe,et al.  Constructive real analysis : a type-theoretical formalization and applications , 2004 .

[66]  Ka Lok Man,et al.  Formal specification and analysis of hybrid systems , 2006 .

[67]  Mariëlle Stoelinga,et al.  A Semantic Framework for Test Coverage , 2006, ATVA.

[68]  Leon Moonen,et al.  Exploring software systems , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[69]  A. T. Hofkamp,et al.  Reactive machine control : a simulation approach using chi , 2001 .

[70]  Martijn M. Schrage,et al.  Proxima: a presentation-oriented editor for structured documents , 2000 .

[71]  Atze Dijkstra Stepping through Haskell , 2000 .

[72]  den Jeremy Ian Hartog,et al.  Probabilistic Extensions of Semantical Models , 2002 .

[73]  Lex Heerink,et al.  Refusal Testing for Classes of Transition Systems with Inputs and Outputs , 1997, FORTE.

[74]  Dick Alstein,et al.  Distributed algorithms for hard real-time systems , 1996 .

[75]  de Hayco Jong Flexible heterogeneous software systems , 2007 .

[76]  EO Esko Dijk Indoor ultrasonic position estimation using a single base station , 2004 .

[77]  David Lee,et al.  Principles and methods of testing finite state machines-a survey , 1996, Proc. IEEE.

[78]  Nicolae Goga,et al.  Formal Test Automation: A Simple Experiment , 1999, IWTCS.

[79]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[80]  Peter Verbaan,et al.  The Computational Complexity of Evolving Systems , 2006 .

[81]  Rachel Cardell-Oliver Conformance test experiments for distributed real-time systems , 2002, ISSTA '02.

[82]  F. Alkemade,et al.  Evolutionary agent-based economics , 2004 .

[83]  AJ Arjan Mooij,et al.  Constructive formal methods and protocol standardization , 2006 .

[84]  Martijn van Veelen,et al.  Considerations on modeling for early detection of abnormalities in locally autonomous distributed systems , 2007 .

[85]  Eelco Dolstra,et al.  The purely functional software deployment model , 2006 .

[86]  M.H.G. Kesseler,et al.  The implementation of functional languages on parallel machines with distributed memory , 1996 .

[87]  Jan Tretmans,et al.  A Formal Approach to Conformance Testing , 1993, Protocol Test Systems.

[88]  Jan A. Bergstra,et al.  Discrete time process algebra , 1992, Formal Aspects of Computing.

[89]  Daniel Kroening,et al.  Decision Procedures for Equality Logic and Uninterpreted Functions , 2008 .

[90]  Judi Maria Tirza Romijn,et al.  Analysing Industrial Protocols with Formal Methods , 1999 .

[91]  Gerald B. Folland,et al.  Other References , 1965, Comparative Education Review.

[92]  Bahareh Badban,et al.  Verification Techniques for Extensions of Equality Logic , 2006 .

[93]  Duncan Clarke,et al.  Automatic test generation for the analysis of a real-time system: Case study , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[94]  R Rene Schiefer,et al.  Viper : a visualisation tool for parallel program construction , 1999 .

[95]  H.M.A. van Beek,et al.  Specification and analysis of Internet applications , 2005 .

[96]  Maurice H. ter Beek,et al.  Team Automata: A Formal Approach to the Modeling of Collaboration Between System Components , 2003 .

[97]  Dennis Dams,et al.  Abstract interpretation and partition refinement for model checking , 1996 .

[98]  Jjd Joep Aerts Random redundant storage for video on demand , 2003 .

[99]  Stavros Tripakis,et al.  Conformance testing for real-time systems , 2004, SPIN.

[100]  Jpl John Segers Algorithms for the simulation of surface processes , 1999 .

[101]  Mohammad Reza Mousavi,et al.  Structuring structural operational semantics , 2005 .

[102]  Teruo Higashino,et al.  Generating Test Cases for a Timed I/O Automaton Model , 1999, IWTCS.

[103]  V. Sundramoorthy,et al.  At Home in Service Discovery , 2006 .

[104]  Martijn Hendriks,et al.  Model checking timed automata : techniques and applications , 2006 .

[105]  Hasan Ural,et al.  Formal methods for test sequence generation , 1992, Comput. Commun..

[106]  D. Bosnacki Enhancing state space reduction techniques for model checking , 2001 .

[107]  Y Yuechen Qian,et al.  Data synchronization and browsing for home environments , 2004 .

[108]  Michel A. Reniers,et al.  Message sequence chart : syntax and semantics , 1999 .

[109]  Michel A. Reniers,et al.  Hybrid process algebra , 2005, J. Log. Algebraic Methods Program..

[110]  J.J.H. Fey,et al.  Design of a fruit juice blending and packaging plant , 2000 .

[111]  M. de Jonge,et al.  To reuse or to be reused. Techniques for component composition and construction , 2003 .

[112]  Brian Nielsen,et al.  Automated test generation from timed automata , 2001, International Journal on Software Tools for Technology Transfer.

[113]  J. Blanco Definability with the State Operator in Process Algebra , 1995 .

[114]  S. P. Luttik Choice quantification in process algebra , 2002 .

[115]  J. Verriet Scheduling with communication for multiprocessor computation , 1998 .

[116]  Stavros Tripakis,et al.  The Tool KRONOS , 1996, Hybrid Systems.

[117]  Simona Orzan,et al.  On Distributed Verification and Verified Distribution , 2004 .

[118]  Thierry Jéron,et al.  Using On-The-Fly Verification Techniques for the Generation of test Suites , 1996, CAV.

[119]  Sandro Morasca,et al.  Generating test cases for real-time systems from logic specifications , 1995, TOCS.

[120]  Ana Sokolova,et al.  Coalgebraic analysis of probabilistic systems , 2005 .

[121]  Dino Salvo Distefano,et al.  On model checking the dynamics of object-based software : a foundational approach , 2003 .

[122]  Nwa Norbert Arends,et al.  A systems engineering specification formalism , 1996 .

[123]  M. Franssen Cocktail : a tool for deriving correct programs , 2000 .

[124]  T. D. Vu,et al.  Semantics and applications of process and program algebra , 2007 .

[125]  G Giovanni Russello,et al.  Separation and adaptation of concerns in a shared data space , 2006 .

[126]  Marc Phalippou Relations d'implantation et hypothèses de test sur des automates à entrées et sorties , 1994 .

[127]  Aa Twan Basten,et al.  In terms of nets : system design with Petri nets and process algebra , 1998 .

[128]  Cheun Ngen Chong Experiments in rights control : expression and enforcement , 2005 .

[129]  Erika Ábrahám,et al.  An Assertional Proof System for Multithreaded Java - Theory and Tool Support , 2005 .

[130]  Jelasity Márk,et al.  The shape of evolutionary search: discovering and representingsearch space structure , 2001 .

[131]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[132]  Emile H. L. Aarts,et al.  Parallel local search , 1995, J. Heuristics.

[133]  D Dmitri Chkliaev,et al.  Mechanical verification of concurrency control and recovery protocols , 2001 .

[134]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum II , 1993, CONCUR.

[135]  F.A.M. van den Beuken,et al.  A functional approach to syntax and typing , 1997 .

[136]  Pim Kars The application of Promela and Spin in the BOS project , 1996, The Spin Verification System.

[137]  Jeroen Eggermont,et al.  Data Mining using Genetic Programming : Classification and Symbolic Regression , 2005 .

[138]  M. Niqui,et al.  Formalising Exact Arithmetic. Representations, Algorithms and Proofs , 2004 .

[139]  Ricardo Corin,et al.  Analysis Models for Security Protocols , 2006 .

[140]  Éva Tardos,et al.  A strongly polynomial minimum cost circulation algorithm , 1985, Comb..

[141]  Bastiaan Heeren,et al.  Top quality type error Messages , 2005 .

[142]  ter Hugo Wilfried Laurenz Doest Towards Probabilistic Unification-Based Parsing , 1999 .

[143]  Ad M. G. Peeters,et al.  Single-rail handshake circuits , 1995, Proceedings Second Working Conference on Asynchronous Design Methodologies.

[144]  Tac Tim Willemse Semantics and verification in process algebras with data and timing , 2003 .

[145]  Emilia I. Barakova,et al.  Learning reliability : a study on dindecisiveness in sample selection , 1999 .

[146]  Frits W. Vaandrager,et al.  Testing timed automata , 1997, Theor. Comput. Sci..

[147]  A. J. Markvoort Towards hybrid molecular simulations , 2006 .

[148]  Satoshi Yamane,et al.  The symbolic model-checking for real-time systems , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[149]  A. M. Geerling,et al.  Transformational development of data-parallel algorithms , 1996 .

[150]  M. T. Ionita,et al.  Scenario-based system architecting : a systematic approach to developing future-proof system architectures , 2005 .

[151]  Rmc Rene Ahn,et al.  Agents, objects and events : a computational approach to knowledge, observation and communication , 2001 .

[152]  A. W. Heerink,et al.  Specification based formal testing: the EasyLink case study , 2001 .

[153]  P. Severi Normalisation in lambda calculus and its relation to type inference , 1996 .

[154]  Ed Brinksma,et al.  Testing Real-Time Multi Input-Output Systems , 2005, ICFEM.

[155]  Martijn Warnier,et al.  Language based security for Java and JML , 2006 .

[156]  Jaap-Henk Hoepman,et al.  Communication, synchronization and fault tolerance , 1996 .

[157]  R. Boumen,et al.  Test sequencing in a complex manufacturing system , 2005 .

[158]  Marius Mikucionis,et al.  Real-time system testing on-the-fly , 2003 .

[159]  Thomas Wolle,et al.  Computational aspects of treewidth : Lower bounds and network reliability , 2005 .

[160]  Cj Roel Bloo,et al.  Preservation of termination for explicit substitution , 1997 .

[161]  K. Leeuw Cryptology and statecraft in the Dutch Republic , 2000 .

[162]  H. A. deJong Flexible Heterogeneous Software Systems , 2007 .

[163]  Marieke Huisman,et al.  Reasoning about Java programs in higher order logic using PVS and Isabelle , 2001 .

[164]  F. Bartels,et al.  On Generalised Coinduction and Probabilistic Specification Formats , 2004 .

[165]  Jan Tretmans,et al.  Test Generation with Inputs, Outputs and Repetitive Quiescence , 1996, Softw. Concepts Tools.

[166]  Ts Ed Voermans Inductive datatypes with laws and subtyping : a relational model , 1999 .

[167]  Ed Brinksma,et al.  A Test Generation Framework for quiescent Real-Time Systems , 2004, FATES.

[168]  Daan Leijen,et al.  The λ Abroad - A Functional Approach to Software Components , 2003 .

[169]  P. Zoeteweij,et al.  Composing constraint solvers , 2005 .

[170]  Willem Otto David Griffioen,et al.  Studies in computer aided verification of protocols , 2000 .

[171]  Jurgen Vinju,et al.  Analysis and transformation of source code by parsing and rewriting , 2005 .

[172]  Andres Löh,et al.  Exploring generic Haskell , 2004 .

[173]  Matthew Hennessy,et al.  Algebraic theory of processes , 1988, MIT Press series in the foundations of computing.

[174]  van Robert Liere,et al.  Studies in Interactive Visualization , 2001 .

[175]  Jianping Wu,et al.  Distributed testing of multi input/output transition system , 2004, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004..

[176]  Rance Cleaveland,et al.  A Theory of Testing for Soft Real-Time Processes , 1996, SEKE.

[177]  G Goce Naumoski,et al.  A discrete-event simulator for systems engineering , 1998 .

[178]  R Ronald Ruimerman,et al.  Modeling and remodeling in bone tissue , 2005 .

[179]  R. V. Glabbeek The Linear Time - Branching Time Spectrum II: The Semantics of Sequential Systems with Silent Moves , 1993 .

[180]  Joost Visser,et al.  Generic traversal over typed source code representations , 2003 .

[181]  Ling Cheung,et al.  Reconciling nondeterministic and probabilistic choices , 2006 .

[182]  Mariëlle Stoelinga,et al.  Alea jacta est : verification of probabilistic, real-time and parametric systems , 2002 .

[183]  Methods for Testing and Specification (mts); Internet Protocol Testing (ipt); Pre-normative Study for Ipv6 Testing Intellectual Property Rights , 2022 .

[184]  Twan Laan The evolution of type theory in logic and mathematics , 1997 .

[185]  Stefan Blom,et al.  Term Graph Rewriting. Syntax and semantics , 2001 .

[186]  Goran Frehse,et al.  Compositional verification of hybrid systems using simulation relations , 2005 .

[187]  Irene Bloemraad UNITY IN DIVERSITY? , 2007, Du Bois Review: Social Science Research on Race.

[188]  Cjf Cas Cremers Scyther : semantics and verification of security protocols , 2006 .