An Automated Test Generation Process from UML Models to TTCN-3 Jens R. Calamé.

Slides:



Advertisements
Similar presentations
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Advertisements

BAiT: Adaptive Test Case Execution in Practice Jens R. Calamé Centrum voor Wiskunde en Informatica, Amsterdam.
Grammar vs Recursive Descent Parser
Mahadevan Subramaniam and Bo Guo University of Nebraska at Omaha An Approach for Selecting Tests with Provable Guarantees.
Using TTCN-3 in Interoperability Testing for Real-time Communication Systems Zhiliang Wang, Jianping Wu, Xia Yin, Xingang Shi and Beihang Tian Department.
Predicate Complete Testing * Thomas Ball * Thomas Ball, A Theory of Predicate-Complete Test Coverage and Generation, Technical Report MSR-TR ,
Chapter 10 What's The Plan?: Algorithmic Thinking.
Software Design Deriving a solution which satisfies software requirements.
VerTeCS Verification models and techniques applied to the Testing and Control of reactive Systems Thierry Jéron IRISA/INRIA Rennes, France
HCSSAS Capabilities and Limitations of Static Error Detection in Software for Critical Systems S. Tucker Taft CTO, SofCheck, Inc., Burlington, MA, USA.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
1 Jan Tretmans Embedded Systems Institute Eindhoven Radboud University Nijmegen Model-Based Testing.
Inference and Resolution for Problem Solving
1 SYSTEM and MODULE DESIGN Elements and Definitions.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Towards Automatic Generation of Parameterized Test Cases from Abstractions Jens R. Calamé Natalia Ioustinova Jaco van de Pol Centrum voor Wiskunde en Informatica,
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
OOP #10: Correctness Fritz Henglein. Wrap-up: Types A type is a collection of objects with common behavior (operations and properties). (Abstract) types.
Abstract Interpretation Part I Mooly Sagiv Textbook: Chapter 4.
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 18 Program Correctness To treat programming.
Dr. Muhammed Al-Mulhem 1ICS ICS 535 Design and Implementation of Programming Languages Part 1 Fundamentals (Chapter 4) Axiomatic Semantics ICS 535.
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
Data Flow Analysis Compiler Design Nov. 8, 2005.
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Winter 2012SEG Chapter 11 Chapter 1 (Part 2) Introduction to Requirements Modeling.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 4: SMT-based Bounded Model Checking of Concurrent Software.
Cooperative Query Answering Based on a talk by Erick Martinez.
1 Jan Tretmans Embedded Systems Institute Eindhoven, NL Radboud University Nijmegen, NL Model-Based Testing with Labelled Transition.
Digital signature in automatic analyses for confidentiality against active adversaries Ilja Tšahhirov, Peeter Laud.
AMOST Experimental Comparison of Code-Based and Model-Based Test Prioritization Bogdan Korel Computer Science Department Illinois Institute of Technology.
Implementation & Integration Phase Implementation, then integration: Implementation, then integration:  Each module is implemented by member of programmer.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
Ontologies Reasoning Components Agents Simulations Belief Update, Planning and the Fluent Calculus Jacques Robin.
1 Modularity in Abstract Software Design: A Theory and Applications Yuanfang Cai Dept. of Computer Science University of Virginia Dissertation Proposal.
Model Based Conformance Testing for Extensible Internet Protocols Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD.
Compiler Construction Lexical Analysis. The word lexical means textual or verbal or literal. The lexical analysis implemented in the “SCANNER” module.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
Automatic Test Generation from here until the end (of my Phd.) University of Geneva Levi Lúcio SMV & Les Diablerets.
CS6133 Software Specification and Verification
Ethan Jackson, Nikolaj Bjørner and Wolfram Schulte Research in Software Engineering (RiSE), Microsoft Research 1. A FORMULA for Abstractions and Automated.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
Control Algorithms 1 Chapter 6 Control Algorithms 1 Chapter 6 Pattern Search.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Conformance Test Suites, Extensionally Arend Rensink University of Twente Dutch Workshop on Formal Testing Techniques University of Twente 13 September.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Definition of Terms Software/Programs Programs that directs the operation of a computer system Set of instructions Codes Programming Process of planning,
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
Ch. 13 Ch. 131 jcmt CSE 3302 Programming Languages CSE3302 Programming Languages (notes?) Dr. Carter Tiernan.
Proving Non-Termination Gupta, Henzinger, Majumdar, Rybalchenko, Ru-Gang Xu presentation by erkan.
Lecture 2: 11/4/1435 Problem Solving Agents Lecturer/ Kawther Abas 363CS – Artificial Intelligence.
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke Presented by: Xia Cheng.
Scientific Debugging. Errors in Software Errors are unexpected behaviors or outputs in programs As long as software is developed by humans, it will contain.
Towards Interoperability Test Generation of Time Dependent Protocols: a Case Study Zhiliang Wang, Jianping Wu, Xia Yin Department of Computer Science Tsinghua.
Model Checking Linearizability via Refinement 1 ICFEM 2008 Model Checking Linearizability via Refinement Yang LIU, Wei CHEN, Yanhong A. LIU, and Jun SUN.
Finite State Machines (FSM) OR Finite State Automation (FSA) - are models of the behaviors of a system or a complex object, with a limited number of defined.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
An Automated Test Generation Process from UML Models to TTCN-3
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
About the Presentations
Property Directed Reachability with Word-Level Abstraction
Programming Languages 2nd edition Tucker and Noonan
What's The Plan?: Algorithmic Thinking
Chapter 2. Problem Solving and Software Engineering
What's The Plan?: Algorithmic Thinking
What's The Plan?: Algorithmic Thinking
Some Programming Paradigms
Test Generation with Abstraction and Concretization
Programming Languages 2nd edition Tucker and Noonan
Presentation transcript:

An Automated Test Generation Process from UML Models to TTCN-3 Jens R. Calamé

IFM 2005 (Doctoral Symposium), Eindhoven2 Our Test Generation Process Abstract System Specification System Specification (formal) Test Purpose TGV System Specification (e.g. UML) Abstraction Test Case Generation Parameterizable Test Case (TTCN-3) Rule System for Data Selection TTCN-3 Generation Constraint Generation Abstract Test Case

IFM 2005 (Doctoral Symposium), Eindhoven3 Abstraction Motivation: Test Generation with TGV is based on enumerative techniques  suffers from state-space explosion Finite state-space by data abstraction System abstraction on specification-level: –Replace all input values by one constant chaos ( * ) –Propagate this * through the system –Transform conditions based on * to nondeterministic choice  Abstracted system is an over-approximation of original system

IFM 2005 (Doctoral Symposium), Eindhoven4 Generation of Data Selection Rules Given: –Abstract test case (control flow information + internal data) –Original specification (data dependencies) Result: (generated Prolog implementation) –Rules, representing ADT functions of the original specification (meta language) –Rule system based on specification: one rule for each transition in original system, containing Conditions Assignments (internally or from input actions, resp.) –Test oracle based on abstract test case (query to rule system) Invocation of all selected actions as a conjunction

IFM 2005 (Doctoral Symposium), Eindhoven5 Test Execution 1.Pre-solve one trace to pass statically (skip internal  -steps) 2.Execute this trace until the SUT leaves it 3.Try to find a trace to pass  solve and execute it 4.If no trace to pass: Try to find a trace to inconc  solve it 5.If no trace to inconc: set test verdict fail PASS 01 INCONC !initPin(x00)!initBalance(x10) !getPin(x20) ?pinCorrect ?pinInCorrect ?lowBalance !getAmount(x40)!getBalance ?Balance(x50) !getAmount(x60) ?Money(x70) ?eatCard

IFM 2005 (Doctoral Symposium), Eindhoven6 Future Work (Theoretical Part) Proof of completeness of the presented approach –If there is a failure in the SUT – is there a test case that finds it?  -steps handling not yet fully satisfying –In blackbox testing:  -steps are skipped –However: for online constraint-solving  -steps contain necessary information (e.g. internal assignments) –Possible solution: assignment collection in first visible action after sequence of  -steps (loops?) Theoretical foundation of suspension handling (quiescence,  -loops again)

IFM 2005 (Doctoral Symposium), Eindhoven7 Conclusion Actual status: – Data abstraction algorithm is implemented for µCRL –Parameterization constraint generation is implemented –Whole test generation process is applied to CEPS (but: not yet test execution) –Generation of TTCN-3 test cases ongoing work Future work: –Correct handling of  -steps in blackbox-testing –Handling of suspension traces in the SUT –Proof that a complete set of test cases is generated –Test data selection and test case parameterization –Formalization of UML-Models for test generation

IFM 2005 (Doctoral Symposium), Eindhoven8