Searching for optimal models: Comparing two encoding approaches
Journal article, 2019

Search-Based Software Engineering (SBSE) is about solving software development problems by formulating them as optimization problems. In the last years, combining SBSE and Model-Driven Engineering (MDE), where models and model transformations are treated as key artifacts in the development of complex systems, has become increasingly popular. While search-based techniques have often successfully been applied to tackle MDE problems, a recent line of research investigates how a model-driven design can make optimization more easily accessible to a wider audience. In previous model-driven optimization efforts, a major design decision concerns the way in which solutions are encoded. Two main options have been explored: a model-based encoding representing candidate solutions as models, and a rule-based encoding representing them as sequences of transformation rule applications. While both encodings have been applied to different use cases, no study has yet compared them systematically. To close this gap, we evaluate both approaches on a common set of optimization problems, investigating their impact on the optimization performance. Additionally, we discuss their differences, strengths, and weaknesses laying the foundation for a knowledgeable choice of the right encoding for the right problem.

Model-driven Engineering Search-based Software Engineering Optimization Encoding Comparative evaluation


Stefan John

Philipps-Universität Marburg

Alexandru Burdusel

King's College London

Robert Bill

Vienna University of Technology

Daniel Strüber

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers), Software Engineering for People, Architecture, Requirements and Traceability

Gabriele Taentzer

Philipps-Universität Marburg

Steffen Zschaler

King's College London

M. Wimmer

Johannes Kepler University of Linz (JKU)

Journal of Object Technology

1660-1769 (ISSN)

Vol. 18 3 1-22

Subject Categories

Other Computer and Information Science

Software Engineering

Computer Science



More information

Latest update