Back to research topics

Axini develops tools for model based testing (MBT) and model based software engineering (MBSE). Model based testing is a software testing approach in which test cases are automatically generated and executed from a model, a formal specification of the system under test. This approach allows for a high degree of test automation and more thorough testing.

This research will be part of the TiCToC (Testing In times of Continuous Change) research project. TiCToC integrates model based testing with automata learning. With model based testing we manually create a model of the system. This can be rather difficult, especially for legacy systems where specifications are missing, incomplete or incorrect.

Model learning is an approach where a model is derived from log files or other observations of the system. It will attempt to construct a model that corresponds to the observed behavior. Model learning is actively researched at the universities of Twente and Nijmegen. One of the leading tools is LearnLib.

The LearnLib approach has some serious shortcomings. Therefore we are also interested in other approaches, for example an interesting approach is Test based modeling as done by Tim Willemsen. Furthermore, LLMs (Large Language Models) seem an interesting candidate to apply to model learning.

The types of models that are learned are different than the models that Axini uses. At Axini we use Symbolic Transition Systems that support time and data. These models have pleasant compositional properties to form bigger models by combining smaller models (for example in sequential or parallel composition). The models that LearnLib supports, for example, Mealy machines and Finite Automata. These do not share these compositional properties. It would be nice to develop theory and tools that support Transition Systems.

Additionally, current techniques have difficulty with systems that exhibit non-deterministic behavior. Most of the complex real-world systems have this property.

Possible research questions

There are several puzzles and research questions that students can work on.

Model learning of advanced concepts
Is it possible for the theory underlying LearnLib to support data, time and non-determinism?
Applying LearnLib
Can we apply LearnLib to systems from our customers such as ProRail, Achmea or Thermo Fisher Scientific?
Large language models
How can we apply LLMs to model learning?

Recent work

Recent work at Axini on this topic: