Database of Case Studies Achieved Using CADP

Test Generation for Automotive Industry

Organisation: Technical University of Graz and AreaE (AUSTRIA)

Method: UML Statecharts

Tools used: CADP (Construction and Analysis of Distributed Processes)

Domain: Embedded Systems.

Period: 2009-2013

Size: 3000 lines of LOTOS code
30 LOTOS processes

Description: This work is a result of an applied research project addressing the introduction of test case generation techniques in the automotive industry. One of the project goals is to establish a scalable test generation technique that allows various test strategies (coverage-based, scenario-based, random, and fault-based). Another goal is to integrate the test generation technique with the existing test automation environment and with the test engineer's domain experience. Thus it is of uttermost importance to rely on familiar and industry-proven diagrammatic notations, such as modeling the system behavior by means of UML statecharts. Statechart diagrams are used to visualize state machines and belong to the category of UML behavioral diagrams.

We consider a set of UML models representing the diagnosis functionality in modern vehicles. Its purpose is to store the type, occurrence and origin of errors. Since the diagnosis functionality is distributed over many ECUs (Electronic Control Units), the description of its behavior is also modeled by communicating UML models. The communication model is based on message passing with the possibility to transfer data as message parameters. The models can be grouped into several classes: environment models describe the state of the environment by gathering data from the bus communication or sensors; functional models describe the behavior of ECUs, comprising the formal specification of the input/output communication and error detection routines; error handling models define how a detected error is treated, by specifiying which conditions have to be fulfilled to create an entry in the error memory. The functionality to be tested in this setting is given by the diagnosis model.

Transformation rules are defined in order to derive a LOTOS specification from an UML statechart description of a system. One of the goals behind this transformation is to allow for the usage of already existing test generation tools to automatically extract test cases from UML models. One of the most mature tools of this kind is TGV, which is integrated into the CADP toolbox. TGV uses the concept of test purposes to focus the test case generation and to avoid the state space explosion. An automatic test purpose generation technique, based on the insertion of probes into the LOTOS specification, was used on the Diagnosis model to automatically derive test purposes and subsequently test cases.

When using this method, some of the obtained test cases were very lengthy, e.g., a test case covering five states of the Diagnosis model ended up having 1120 states and 1119 transitions. One reason for this is the high branching factor of the IOLTS generated from the LOTOS specification and the fact that TGV uses a depth first search algorithm to search the IOLTS. A proposed solution to reduce the length of the generated test cases is to use a breadth first search algorithm to search the IOLTS. We have used the model checker EVALUATOR of CADP to search the IOLTS using a breadth first search algorithm, guaranteeing in this way the shortest path to the inserted probe. Using EVALUATOR, the aforementioned test case was reduced to 7 states and 6 transitions.

This method can be improved by analysing data, control, and communication dependencies so as to automatically insert REFUSE transitions in the test purposes, thus avoiding the exploration of irrelevant parts of the state space.

Conclusions: A semantics preserving model transformation was proposed from UML Statecharts to the specification language LOTOS, which is the primary input language of mature research prototypes for test case generation. The obtained results indicate that the derived models allow for deducing meaningful test cases with a reasonable computational effort in an automated way. As states in the UML model are mapped to LOTOS processes, the proposed transformation allows for coverage-based test case generation.

Publications: [Chimisliu-Schwartzl-Peischl-09] Valentin Chimisliu, Christian Schwartzl, and Bernhard Peischl. "From UML Statecharts to LOTOS: A Semantics Preserving Model Transformation". Proceedings of the 9th International Conference on Quality Software QSIC'2009, pp. 173-178. IEEE Computer Society Press, August 2009.
Available on-line at:
or from our FTP site in PDF or PostScript

[Chimisliu-Wotawa-13-a] Valentin Chimisliu and Franz Wotawa. "Using Dependency Relations to Improve Test Case Generation from UML Statecharts". Proceedings of the IEEE 37th Annual Computer Software and Applications Conference Workshops COMPSACW'2013 (Kyoto, Japan), pp. 71-76, IEEE Computer Society Press, July 2013.
Available on-line at:

[Chimisliu-Wotawa-13-b] Valentin Chimisliu and Franz Wotawa. "Improving Test Case Generation from UML Statecharts by Using Control, Data and Communication Dependencies". Proceedings of the 13th International Conference on Quality Software QSIC'2013 (Nanjing, China), pp. 125-134, IEEE Computer Society Press, July 2013.
Available on-line at:

Bernhard Peischl
K-net Softnet Austria
Institute for Software Technology
Technische Universität Graz
Muenzgrabenstrasse 35
8010 Graz
Phone: +43 316 873 5712
Fax: +43 316 873 5706

Further remarks: This tool, amongst others, is described on the CADP Web site:

Last modified: Fri Feb 19 09:12:04 2016.

Back to the CADP case studies page