Autolink. A Tool for the Automatic and Semi-Automatic Test Generation

Similar documents
Test Generation with Autolink and TestComposer

TTCN-3 Test Case Generation from Message Sequence Charts

Technischer Bericht. TTCN-3 Test Case Generation from Message Sequence Charts

Lab: Protocol Engineering

Quality-of-Service Testing. Specifying Functional QoS Testing Requirements by using Message. Sequence Charts and TTCN

Improving the Quality of Test Suites for Conformance. Tests by Using Message Sequence Charts. Abstract

TTCN (Testing and Test Control Notation) A standard test specification and implementation language. Contents

PCO ASPs IUT. Tester. ASPs PCO. PDUs. Test System TCP. ASPs PCO. PDUs IUT. Service Provider. Lower Tester Control Function TCP

TOWARDS THE THIRD EDITION OF TTCN

A proposal for a real-time extension of TTCN

ON THE DESIGN OF THE NEW TESTING LANGUAGE TTCN-3

Communication Patterns for Expressing Real-Time Requirements Using MSC and their Application to Testing

Some Implications of MSC, SDL and TTCN Time Extensions for Computer-aided Test Generation

SPT - The SDL Pattern Tool B4 - Generic Communication Systems

Introduction to Telelogic Tau SDL Suite

A Message Sequence Chart-Profile for Graphical Test Specification, Development and Tracing Graphical Presentation Format for TTCN-3

ETSI ETR 346 TECHNICAL December 1996 REPORT

Abstract formula. Net formula

SIMULATING SDL USING SITE

Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines

Evolution of Real-Time TTCN Testing based on Prioritised Scheduling

4 Tutorial: TTCN Suite

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations.

Specification and design of distributed embedded middleware applications with SDL Dr. Eckhardt Holz. Humboldt-Universität zu Berlin

IAR TTCN Developer s Studio

31 Editing TTCN Documents

Web-based system for learning of communication protocols

Ecient Implementation of Sorting Algorithms on Asynchronous Distributed-Memory Machines

Siegfried Loer and Ahmed Serhrouchni. Abstract. SPIN is a tool to simulate and validate Protocols. PROMELA, its

10 Implinks and Endpoints

T : Protocol Design

Enhancing Integrated Layer Processing using Common Case. Anticipation and Data Dependence Analysis. Extended Abstract

1 Introduction to. Languages and Notations. Chapter

Centre for Parallel Computing, University of Westminster, London, W1M 8JS

Automatic test generation based on functional coverage

Simulator. Chapter 4 Tutorial: The SDL

Possibility of SystemC code generation from SDL specication

time using O( n log n ) processors on the EREW PRAM. Thus, our algorithm improves on the previous results, either in time complexity or in the model o

FOUR INDEPENDENT TOOLS TO MANAGE COMPLEXITY INHERENT TO DEVELOPING STATE OF THE ART SYSTEMS. DEVELOPER SPECIFIER TESTER

Ch7 Conformance Testing Methodology

SAMOS: an Active Object{Oriented Database System. Stella Gatziu, Klaus R. Dittrich. Database Technology Research Group

Architecting Specifications for Test Case Generation 1 Dr Richard Sinnott National escience Centre University of Glasgow Scotland

Dynamic scenario-based approach to re-engineering of legacy telecommunication software 1

Synchronization Expressions: Characterization Results and. Implementation. Kai Salomaa y Sheng Yu y. Abstract

TRex The Refactoring and Metrics Tool for TTCN-3 Test Specifications

Creating Meaningful Training Data for Dicult Job Shop Scheduling Instances for Ordinal Regression

Transport protocols are of practical. login, le transfer, and remote procedure. calls. will operate on and therefore are generally

Methods and Semantics for. der Philosophisch-naturwissenschaftlichen Fakultat. der Universitat Bern. vorgelegt von. Stefan Leue.

2 Data Reduction Techniques The granularity of reducible information is one of the main criteria for classifying the reduction techniques. While the t

DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC

Lecture 2: Intro to Concurrent Processing. A Model of Concurrent Programming

Dierencegraph - A ProM Plugin for Calculating and Visualizing Dierences between Processes

INF672 Protocol Safety and Verification. Karthik Bhargavan Xavier Rival Thomas Clausen

of m clauses, each containing the disjunction of boolean variables from a nite set V = fv 1 ; : : : ; vng of size n [8]. Each variable occurrence with

Implementing heuristic testing selection

SHARED WORKSPACE AUDIO & VIDEO COMMUNICATION

Automated generation of TTCN-3 test scripts for SIP-based calls

The Standardization of Message Sequence Charts. Langgassstrasse 51 Otto-Hahn-Ring 6. CH-3012 Bern D-W8000 Munchen 83

LTE test suites for UE conformance

Server 1 Server 2 CPU. mem I/O. allocate rec n read elem. n*47.0. n*20.0. select. n*1.0. write elem. n*26.5 send. n*

Verification and testing automation of UML projects

28 The TTCN to C Compiler

- self-loop - parallel edges

communication protocol that is taken as an example is the Document Transfer And Manipulation

TTCN: What it is and How to read it

ETSI ETR 266 TECHNICAL August 1996 REPORT

The Stepping Stones. to Object-Oriented Design and Programming. Karl J. Lieberherr. Northeastern University, College of Computer Science

Generic Programming. Abstract. data representations to produce a wide variety of useful software. For example, a

PragmaDev. change request. Emmanuel Gaudin. PragmaDev ITU-T SG17 change request Grimstad June 24,

such internal data dependencies can be formally specied. A possible approach to specify

Model-Based Testing: an Approach with SDL/RTDS and DIVERSITY

SHARED WORKSPACE AUDIO & VIDEO COMMUNICATION

T U M I N S T I T U T F Ü R I N F O R M A T I K. How to Improve the Service Specifications of the ISO/OSI Basic Reference Model.

B2 if cs < cs_max then cs := cs + 1 cs := 1 ra

Theoretical Foundations of SBSE. Xin Yao CERCIA, School of Computer Science University of Birmingham

Design and Implementation of a Flexible Measurement Tool Exploiting IPv6 Features

1 Introduction One of the contributions of Java is in its bytecode verier, which checks type safety of bytecode for JVM (Java Virtual Machine) prior t

helps the designer to achieve a better understanding of the system to be built. Tools are extremely useful in achieving a correct specication. Design

Notes. Some of these slides are based on a slide set provided by Ulf Leser. CS 640 Query Processing Winter / 30. Notes

II (Sorting and) Order Statistics

TRex An Open-Source Tool for Quality Assurance of TTCN-3 Test Suites

High-Level Test Synthesis. Tianruo Yang and Zebo Peng. Department of Computer and Information Science

embedding into a development method which allows for formal verication, suitable abstraction from concrete computer architectures. In this introductio

2 Addressing the Inheritance Anomaly One of the major issues in correctly connecting task communication mechanisms and the object-oriented paradigm is

Recovering from Main-Memory Lapses. H.V. Jagadish Avi Silberschatz S. Sudarshan. AT&T Bell Labs. 600 Mountain Ave., Murray Hill, NJ 07974

heuristic, the value of each node in the graph increases with more iterations, and the algorithm can perform more ecient updates. These claims (that a

2 Egon Borger, Wolfram Schulte: Initialization Problems for Java 1 class A implements I{ } 2 3 interface I { static boolean dummy = Main.sideeffect =

The Compositional C++ Language. Denition. Abstract. This document gives a concise denition of the syntax and semantics

ER E P M S S I A SURVEY OF OBJECT IDENTIFICATION IN SOFTWARE RE-ENGINEERING DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF TAMPERE REPORT A

Process Modelling using Petri Nets

TINA Conformance Testing Framework

REAL-TIME MULTITASKING KERNEL FOR IBM-BASED MICROCOMPUTERS

CPSC 320 Sample Solution, Playing with Graphs!

\Symbolic Debugging of. Charles E. McDowell. April University of California at Santa Cruz. Santa Cruz, CA abstract

Localization in Graphs. Richardson, TX Azriel Rosenfeld. Center for Automation Research. College Park, MD

On Checkpoint Latency. Nitin H. Vaidya. In the past, a large number of researchers have analyzed. the checkpointing and rollback recovery scheme

A novel approach to automatic model-based test case generation

Source-Based Trace Exploration Work in Progress

Optimization Techniques for Parallel Protocol Implementation

Transcription:

Autolink A Tool for the Automatic and Semi-Automatic Test Generation Michael Schmitt, Beat Koch, Jens Grabowski and Dieter Hogrefe University of Lubeck, Institute for Telematics, Ratzeburger Allee 160, D-23538 Lubeck, Germany, e-mail: [schmitt,bkoch,jens,hogrefe]@itm.mu-luebeck.de, http://www.itm.mu-luebeck.de Abstract Due to increasing interest in validation and test generation tools, Telelogic AB, Malmo, and the Institute for Telematics of the University of Lubeck have started a research and development project which aims at bringing new test generation facilities to the Tau tool set. For that purpose, a software component is developed which supports the automatic and semi-automatic generation of TTCN test suites based on SDL specications and MSC test cases. The project follows a pragmatic approach and is driven by practical experience. Autolink is currently used by the Project Team 100 at the European Telecommunications Standardisation Institute (ETSI), where it has to prove its usefulness in everyday work. 1 Introduction Autolink is part of Tau, a commercial product by Telelogic AB, Malmo. Tau combines the two well-known tool sets SDT and ITEX. It provides tools for the formal design, implementation and testing of communicating systems software. In particular, it supports the use of the specication languages SDL, MSC and TTCN. Tau includes graphical editors, analysers, simulation tools and application code generators. One tool of Tau is the SDT Validator. The Validator is based on state space exploration techniques [3]. It builds up the state space of a given SDL specication and examines it with regard to some properties. In particular, the Validator provides an automated fault detection mechanism, which nds inconsistencies and problems like deadlocks, range errors and implicit signal consumption; an MSC verication mechanism, which allows to verify an SDL system against requirements described by MSCs. Autolink is a component which uses and extends the SDT Validator's functions. Figure 1 shows the Tau environment in which Autolink is embedded. SDT allows the user to construct SDL specications and test them with the Validator, whereas ITEX supports the user in the development of TTCN test suites. With Autolink one can specify test cases within the SDT Validator. The tool then automatically generates a TTCN test suite with constraints and dynamic behaviour tables. This test suite can be completed and rened in ITEX. Additionally a Link executable, which can be automatically derived from the SDL specication, allows to generate all static TTCN declarations which are not provided by Autolink. The rest of this paper is structured as follows: In Section 2 we give a survey of the dierent steps of test suite generation. A short description of the search algorithm is given in Section 3. Section 4 contains some examples for the use of Autolink. Finally, in Section 5, plans for version 2 of Autolink are presented.

TAU SDT ITEX Link Tool Link Executable Declarations Part Test Suite Overview SDL Specification Validator (Autolink) TTCN test suite (Constraints Part & Dynamic Part) Complete ITEX Test Suite Figure 1: Test Generation { System Overview Define test case Test case representation (System Level MSC) Process test case Define constraint Internal test case representation List of constraints Modify constraint Generate test suite TTCN test suite in MP format 2 Autolink Version 1 Figure 2: The Test Suite Generation The generation of a TTCN test suite with Autolink proceeds in several steps. These steps are outlined in Figure 2. Most of the steps can be iterated as indicated by loops in the diagram. Test case denition At rst, test cases have to be dened for which a test suite is intended to be generated. In Autolink a test case is derived from a path. A path is a sequence of events (like tasks, signal exchanges, etc.) that have to be performed in order to traverse from a start state in the state space of an SDL system to an end state. The Validator allows to specify paths in several dierent ways, including both selective and brute force strategies. Some examples are:

Manual navigation in the state space. The SDT Validator provides a special window which allows users to manually explore the state space and thereby to dene paths in an ecient way. MSC verication. The Validator searches for a path that satises a given MSC. This path is then used as a test case. Observer processes. An observer process is a special kind of process within an SDL system, which is able to observe other processes and the SDL system in general. Observer processes allow an automatic denition of a large set of tests for an SDL system. Each time a path is found by the Validator that satises the condition dened in an observer process, a report is generated. At the end of the state space exploration, the reports can be converted into MSC test cases. A typical eld of application for observer processes is test generation based on SDL symbol coverage. All three methods to dene a path can be combined. The user may also use the SDT Simulator, a tool that works similar to the SDT Validator and helps to debug a specication. One advantage of using the SDT Simulator is its support of ASN.1 data types. The user may also manually create MSCs using the MSC editor. The path is stored in the form of a system level MSC, i. e., an MSC with only one instance axis for the SDL system and one or more instances axes for the environment. A system level MSC shows only the visible interaction that is supposed to take place between an implementation and the test system. Note that a system level MSC is an abstraction of a path. There may exist several paths in the state space of the SDL system which show the same external behaviour and hence lead to the same system level MSC. Usually test cases are logically structured into several parts, e. g. a preamble, a test body and a postamble. These parts are called test steps. Autolink allows to incorporate test steps in test cases by using MSC references. Test steps again may refer to other test steps. During test case processing, Autolink keeps track of the nested structure of test cases and test steps. Thus, test steps can be output in dierent ways in a test suite, e. g., as local trees in a test case description or globally in the test steps library. If a test case is structured into preamble, test body and postamble, Autolink automatically assigns preliminary pass verdicts at the end of the test body. Test case processing. The system level MSCs are taken as input for test case processing, which results in an internal representation for each test case. This representation consists of a sequence of send and receive events leading to a TTCN pass verdict. In addition, alternative receive events are looked up and added to the test case with a TTCN inconclusive verdict. Section 3 describes the search algorithm that builds the internal test case representation. In addition to the internal test case representation a list of constraints is generated. The user is able to assign more reasonable names to the constraints generated by Autolink before the test suite is saved. He may also manually dene and remove signal constraints or merge two constraint denitions at any time. Merging constraints is useful if two constraints have the same meaning or if a signal parameter with dierent values in two constraints is irrelevant. Test suite generation. Finally a TTCN test suite in MP format is generated based on the internal test case representation and the list of constraints. The TTCN test suite consists of four main sections, but only the constraints and dynamic behaviour parts are generated by Autolink. Declarations can be generated automatically using the Link tool; the overview part can also be generated automatically by Itex. Constraints are saved in ASN.1 format. Thereby a problem has to be solved that is caused by the dierent notations for data structures in SDL and ASN.1. Parameters of SDL signals have types, but no names, whereas ASN.1 always demands a name for the elds of a data structure. In order to generate a TTCN test suite that is well-formed, generic eld names are created. Dynamic behaviour tables can be generated by evaluating the internal representations for each test case. As mentioned above, Autolink allows to output test steps in several ways.

State space graph of the SDL system List of events for the current transition Autolink s internal event tree 1 e1: Process X starts p1! A 2 3 4 e2: Env sends C p2? B? D p4? E i1 e3: Reset of timer T p3! C 5 6 7 Figure 3: Test case processing algorithm 3 The Test Case Generation Algorithm The processing of test cases consists of three distinctive parts. After some preparatory work, a state space exploration algorithm is used to build up the internal data structure which represents a test case. Finally, post-processing of the internal test case data structure is needed. Three data structures are used during the state space exploration. They are shown in Figure 3. 1. State space graph Just one path through the state space of an SDL system is stored as a stack of states at any given time. 2. Event list Whenever a transition from one SDL system state to a successor state is computed, a list of events is generated. 3. Autolink event tree Each node of the Autolink event tree corresponds to a TTCN event. It contains type information about the event, a list of the event nodes with pass verdicts on the next level, and a list of events with TTCN inconclusive verdicts on the next level. All events on the same level will appear as alternatives in TTCN notation. Here is a short description of the state space exploration algorithm. Let us assume that we are in State 4 in the state space and p2 is the current node in the Autolink event tree. Now State 5 is computed. This produces a list of events. Event e1 of the list is checked against the system level MSC. The test shows that e1 is not relevant to the MSC, so e2 has to be checked next. e2 is an observable event and it satises the MSC. Therefore it is appended as a pass event p3 to the current node in the Autolink event tree. p3 also becomes the new current node in the Autolink event tree. e3 is not an observable event, therefore it can be ignored. It is also the last event in the list. This means that the transition is completed and State 5 in the state space graph has been reached. To continue the exploration, the rst successor to State 5 has to be computed. An inconclusive node is appended to the Autolink event tree if an event e in the list of events is observable but does not satisfy the MSC. To continue the exploration, the next successor of the previous state has to be computed. If we had such an event, e. g., in the transition from State 1 to State 2 in Figure 3, then the transition from State 1 to State 3 would be computed next. For every state s in the stack, the current node p(s) in the Autolink event tree is saved. If there is no successor to state s, then the next successor of state s? 1 is computed and p(s? 1) becomes the current node in the Autolink event tree. The exploration ends if no more successors to the start state are found. Post-processing removes unwanted events from the Autolink event tree. First, it is assumed that the environment always sends signals to the system as soon as possible, whereas receive events occur with an undened delay. Therefore, alternative receive events to a send from the environment

msc CompleteTestRun ISAP1 inres MSAP2 ICONreq (. CR, zero, 0.) MDATreq (. CC, one, 55.) ICONconf IDATreq 0 (. DT, one, 0.) MDATreq IDISreq (. AK, one, 55.) IDISind (. DR, one, 55.) Figure 4: Complete MSC test run are removed from the Autolink event tree. Second, incomplete pass paths may have been generated during the state space exploration. The rst event in a branch which does not end with a pass verdict is reassigned as an event with inconclusive verdict, and the rest of the branch is discarded. Test steps Test steps are represented in the Autolink event tree by two special nodes which indicate the beginning and the end of a test step. In order to generate correct test step descriptions, a change in the semantics of MSC references has been necessary: While ITU-T Recommendation Z.120 considers an MSC reference as some sort of macro, Autolink requires that a test step is completely evaluated before the next test steps starts. This restriction is especially relevant for MSCs with more than two instances axes where there is no total ordering of the events of the environment. 4 Examples In this section we present some examples based on the Inres protocol [2]. Figure 4 shows a complete test run which tests whether it is possible to establish a connection, send one packet of data and then release the connection. Autolink allows to use test steps in test cases. Therefore the test case above can be structured into a preamble (connection establishment), a test body and a postamble (disconnection) as shown in Figure 5 (a), (b) and (c). When processing the test case Autolink builds an internal test case representation which is the basis for several possible TTCN outputs. Figure 6 presents one possible output format for StructuredTestRun. In this case the test steps are directly included in the test case description. Figure 7 shows another possible test case description derived from the same internal representation. Here, test steps are described by local trees. 5 Future plans Version 1 of Autolink [4] has already been shipped by Telelogic AB. It is used by a team working on Project 100 at the European Telecommunications Standardisation Institute (ETSI). The goal

msc StructuredTestRun ISAP1 inres MSAP2 IDATreq Preamble 0 Postamble (. DT, one, 0.) MDATreq (. AK, one, 55.) msc Preamble (a) MSC test run with references msc Postamble ISAP1 inres MSAP2 ICONreq ISAP1 inres MSAP2 IDISreq (. CR, zero, 0.) MDATreq (. CC, one, 55.) ICONconf IDISind (. DR, one, 55.) (b) Preamble of (a) (c) Preamble of (a) Figure 5: Structured MSC test description Test Case Dynamic Behaviour Test Case Name : StructuredTestRun Group : Purpose : Configuration : Default : OtherwiseFail Comments : Nr Label Behaviour Description Constraints Ref Verdict Comments 1 ISAP1! ICONreq TestCase2_001 2 MSAP2? TestCase2_014 3 MSAP2! MDATreq TestCase2_003 4 ISAP1? ICONconf TestCase2_004 5 ISAP1! IDATreq TestCase2_005 6 MSAP2? TestCase2_006 (PASS) 7 MSAP2! MDATreq TestCase2_007 8 ISAP1! IDISreq TestCase2_008 9 ISAP1? IDISind TestCase2_016 10 MSAP2? TestCase2_011 PASS 11 MSAP2? TestCase2_011 12 ISAP1? IDISind TestCase2_016 PASS 13 ISAP1? IDISind TestCase2_016 INCONC 14 MSAP2? TestCase2_014 INCONC 15 ISAP1? IDISind TestCase2_016 INCONC 16 ISAP1? IDISind TestCase2_016 INCONC Detailed Comments: Figure 6: TTCN test case description for StructuredTestRun

Test Case Dynamic Behaviour Test Case Name : StructuredTestRun Group : Purpose : Configuration : Default : OtherwiseFail Comments : Nr Label Behaviour Description Constraints Ref Verdict Comments 1 +Preamble 2 ISAP1! IDATreq TestCase2_005 3 MSAP2? TestCase2_006 (PASS) 4 MSAP2! MDATreq TestCase2_007 5 +Postamble 6 ISAP1? IDISind TestCase2_016 INCONC Preamble 7 ISAP1! ICONreq TestCase2_001 8 MSAP2? TestCase2_014 9 MSAP2! MDATreq TestCase2_003 10 ISAP1? ICONconf TestCase2_004 11 MSAP2? TestCase2_014 INCONC 12 ISAP1? IDISind TestCase2_016 INCONC 13 ISAP1? IDISind TestCase2_016 INCONC Postamble 14 ISAP1! IDISreq TestCase2_008 15 ISAP1? IDISind TestCase2_016 16 MSAP2? TestCase2_011 PASS 17 MSAP2? TestCase2_011 18 ISAP1? IDISind TestCase2_016 PASS Detailed Comments: Figure 7: Test steps stored as local trees of this project is the development of a test suite for the INAP CS2 protocol using automated software tools. Before that, several parties have used Telelogic's Link tool for semi-automatic test suite generation [1]. Experiences with Link and Autolink have shown that today the amount of time which has to be spent with manual post-processing of test suites is too high. It consumes too much of the time which has been won by the automatic generation in the rst place. Therefore, improvements of the readability of the generated TTCN code are required with high priority. Later, methods to control the state space explosion during the exploration will have to be implemented. In particular, we plan the following extensions: Detection of identical subtrees. If there is a series of consecutive receive events at different PCOs, then all permutations of the order in which these events are observed have to be generated. Currently, the complete subsequent event tree is duplicated for every permutation. By detecting permutations of receive events and storing them as local trees, the readability of test cases will be improved a lot. Support of concurrent TTCN. Concurrent TTCN is not supported today, because not all of the necessary information (e.g., declaration of test components) can be deduced from the SDL system or the system level MSC. This information will have to be supplied by the user. Dierent strategies for the automatic generation of coordination messages will be implemented, e. g. synchronisation of all parallel test components before each send event.

Support of timers. Timers on environment axes in the system level MSC will be translated into TTCN timers. Support of test groups. A test suite is normally structured into test groups. A test group is a set of test cases which focuses on testing a specic aspect of the specication. At the moment, this structuring has to be done in a post-processing step, i.e., after test case generation. In practice this is done before or during the test purpose denition. Therefore we intend to develop a mechanism which allows to relate paths, test purposes and test cases to test groups. This means that the next version of Autolink will generate parts of the TTCN overview part automatically from the provided additional structuring information. Denition of stable testing states. Test cases should start and end in stable testing states. A stable testing state is a state where the system has to wait for an input from the environment before it is able to continue. Currently the user has to dene the whole path from the start state of the SDL specication to a state from where the test purpose can be tested. But in practice, test cases do not necessarily begin in the start state of the SDL specication. Therefore we intend to provide a mechanism which allows to dene and search for stable testing states as start states for the test case development. Support of TTCN matching mechanisms. Autolink version 1 calculates the constraints for receive events from the selected path. The constraints include concrete values for the ASP and/or PDU parameters. In practice, during a test run often the concrete values of some parameters are not important, or a whole range of values is allowed. Currently, in such cases the TTCN output has to be modied manually, i.e., TTCN matching mechanisms have to be introduced. We intend to avoid this post-processing step by allowing to use TTCN matching mechanisms in MSC test descriptions. Parameterisation of test steps. Currently, a lot of basically identical test cases are generated, which only dier in the parameters of signals sent to and received from the implementation under test. By providing mechanisms for the parameterisation of test steps, the number of test cases in a test suite can be reduced signicantly. Structuring of test cases based on High Level MSCs (HMSCs). In the next Autolink version it will be possible to use HMSCs for test specication. The structuring information from HMSCs will be used to generate better readable test cases. Further plans include the automatic generation of Unique Input/Output (UIO) sequences, preambles and postambles. It is generally acknowledged that the main problem of nding UIO sequences, preambles and postambles is the explosion of the state space during its exploration. Therefore our work will focus on developing strategies and mechanisms for dealing with this problem. Especially, we will start to implement tools for a static and a dynamic pre-investigation of SDL specications and for performing measurements of the test generation capabilities. Static pre-investigation will be based on a data ow analysis. It will provide information about all message parameters that inuence the behaviour of the SDL specication. This information can be used to manually dene the actual parameter values which have to be sent by the test equipment during a test run. Dynamic pre-investigation will be based on symbolic execution of the SDL specication. It will allow to calculate \optimal input data" and to propose stable testing states. While the number of states which can be examined by test case generators in a certain amount of time is almost constant, the complexity of the search within the state space of an SDL specication depends on the options and search heuristic chosen by the user. The complexity and thus the capabilities of a test case generator for a particular SDL specication can be measured by a number of simulation runs. An automatic comparison of the results will provide information for a reasonable choice of options and heuristics. Acknowledgements The authors like to thank Anders Ek and Per-Olov Nilsson from Telelogic AB for their continuous support of the Autolink project. Many thanks go to Stefan Heymer for proof-reading of this paper.

References [1] A. Ek, J. Grabowski, D. Hogrefe, R. Jerome, B. Koch, and M. Schmitt. Towards the industrial use of validation techniques and automatic test generation methods for SDL specications. Schriftenreihe der Institute fur InformatiknMathematik Report A-97-03, Medizinische Universitat zu Lubeck, Lubeck, January 1997. [2] D. Hogrefe. Estelle, LOTOS und SDL - Standard Spezikationssprachen fur verteilte Systeme. Springer, 1989. [3] G. J. Holzmann. Design and Validation of Computer Protocols. Prentice Hall, Englewood Clis, New Jersey, 1991. [4] B. Koch and M. Schmitt. Autolink Version 1 User Manual. Telelogic AB, Malmo, March 1997. Publications concerning Autolink can be downloaded from http://www.itm.mu-luebeck.de/research/autolink/