Main Content

Model-Driven Optimization in Software Engineering

Funded by the German Research Foundation (2021-2024).

A variety of software engineering problems can be considered as optimization problems such as software modularization, software testing, and release planning. In search-based software engineering (SBSE) meta-heuristic methods are applied to solve optimization problems in software engineering. One of the widely used approaches to iteratively explore a search space are evolutionary algorithms. The problem domains in software engineering are typically encoded with vectors or trees since evolutionary operators can be specified straightforwardly. When the quality of optimization results is not as high as expected, an explanation for this effect may be that domain-specific knowledge is not captured enough in the explorative search. Model-driven engineering (MDE) offers concepts, methods and techniques to process domain-specific models uniformly. The use of MDE in SBSE is called model-driven optimization (MDO); it has been demonstrated at well-known optimization problems in the literature.

MDO is promising as domain-specific knowledge can be systemically incorporated into SBSE. To strengthen the MDO vision, this project aims to consolidate MDO, i.e., to develop a scientific basis for the results obtained so far and to obtain a deeper understanding when and how MDO shall be used to solve optimization problems in software engineering. This project vision can be broken down into the following objectives: (1) Develop a formal framework for MDO that defines a uniform approach for specifying optimization problems and evolutionary algorithms using domain-specific knowledge. The framework will be used for clarifying concepts and for reasoning about the quality of evolutionary algorithms in MDO such that developers can make informed decisions. (2) Perform an empirical evaluation of MDO to investigate its practical relevance. Two topical subject fields of SBSE have been identified for this evaluation, namely mutation testing and genetic improvement of programs. As a prerequisite for this evaluation, an integrated tool environment for MDO will be developed taking all concepts and results of the formal framework  into account that are practically relevant.

Project collaborators

Jens Kosiol

Further Information

Project website DFG