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.
Recent work at Axini on this topic:
- Aswathy George (2018) applied data/work flow mining techniques to mine a model from the system-generated logs using the ProM framework.