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.

Axini models describe behavior of a system under test (a.k.a. SUT). In the context of MBT, such a specification is then used to generate and run test cases. But what if we could use the specification of the system behavior for more use cases? One of the common directions in model-based engineering is to generate source code from a model. In this way we could use our models not only for test generation and automation, but also for the (partial) implementation of the software system.

Possible research questions

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

Code generations from AML models
What kind of code can be generated from AML models? Is there enough information in AML models to generate a complete implementation? If not, can we generate parts of the code (code skeletons, smart stubs, templates, etc.)?
Code and model evolution
What should be the form of the generated code, so that it can co-evolve with the original model?
Practical application
What is the scope of this approach? For what kind of systems will the code generation work?