Atomyste
THE PROJECT
Atomyste is a project funded by Progress, an initiative of NWO
(Dutch Organization for Scientific Research), the ministry of Economic Affairs
and Industry. The research is carried out as a joint effort by the Formal
Methods and Software Engineering research groups at the University of Twente (UT) and the Software
Technology research group at Nijmegen
University (KUN) in the Netherlands. Industry is represented by Philips Research Laboratories, Ordina, CMG,
Siemens and ASML.
The main goal of the project is the development of methods, techniques and
tools to support the automatic generation of tests from specifications. The
project is aimed at practically applicable results that have a sound
theoretical basis.
MOTIVATION
Testing is one of the most universally used
methods for checking the correctness of systems. Also in the area of embedded
software systems testing is an important issue. Correct functioning is
especially important because errors discovered after delivery can be very
costly, as their repair may involve recalling already sold systems.
Atomyste is a spin off of the Côte de Resyste project.
Côte de Resyste aimed at completely automating the test process. They did a
wonderfull job and generated a lot of theory and techniques all coming together
in the test tool TorX. While applying the theory and tools, the Côte de Resyste
project recognized that atom splitting or action refinement was a problem in
the test generation process. This problem arises because test cases are derived
from the specification. In most cases the specification is on an abstracter
level than the implementation. As a result the derived test cases are also
abstract and hence may be incompatible with the implementation.
There are basically two remedies for this problem:
1) Refinement of the specification, or
2) Refinement of the test case.
Refinement means that more detailed information is added. For example a
specification may state that after pressing a button one should get coffee with
milk. The implementation however requires two buttons to be pressed, one for
the coffee and one for the milk. We say the atomic action "coffee with
milk button" is split to "milk button followed by coffee
button", hence the term atom splitting. So to put it more formal: given
the refinement function R("coffee with milk button", "milk
button" ; "coffee button") (";" stands for followed
by) we can refine the specification or the test case to the same level as the
implementation.
The Atomyste project will concentrate entirely on developing methods,
techniques and tools for the generation of concrete test cases from abstract
specifications, given a refinement function. This means the generation of test
cases that are at the same abstraction level as the implementation. With this
part of the automated testing puzzle solved, the applicability of automated
testing comes one step closer.
ATOMYSTE PUBLICATIONS
Here are the publications related to the
Atomyste project
CÔTE DE RESYSTE TOOLS
TorX
This page was last updated
by Machiel van der Bijl on 2004-09-16