Abstract

Recently, there has been increased interest in combining model-driven engineering and search-based software engineering. Such approaches use meta-heuristic search guided by search operators (model mutators and sometimes breeders) implemented as model transformations. The design of these operators can substantially impact the effectiveness and efficiency of the meta-heuristic search. Currently, designing search operators is left to the person specifying the optimisation problem. However, developing consistent and efficient search-operator rules requires not only domain expertise but also in-depth knowledge about optimisation, which makes the use of model-based meta-heuristic search challenging and expensive. In this paper, we propose a generalised approach to automatically generate atomic multiplicity-preserving search operators for a given optimisation problem. This reduces the effort required to specify an optimisation problem and shields optimisation users from the complexity of implementing efficient meta-heuristic search mutation operators. We evaluate our approach with a set of case studies and show that the automatically generated rules are comparable to, and in some cases better than, manually created rules at guiding evolutionary search towards near-optimal solutions.

Highlights

  • Search-based software engineering (SBSE) [23] has seen increasing interest over the past decade

  • Hypervolume indicator Comparing solutions of optimisation problems that have more than one objective value is not a trivial problem

  • The quality of the results found by generated rules (Gen) is attributed to the atomic MPSOs (aMPSOs) operators which allow classes to be created and deleted, after all the features have been assigned to a class, without invalidating the multiplicity constraints

Read more

Summary

Introduction

Search-based software engineering (SBSE) [23] has seen increasing interest over the past decade. SBSE views software engineering as a problem of searching a, potentially very large, design space for optimal solutions and proposes techniques and tools for automating this search, frequently using meta-heuristic search techniques. Users provide small endogenous model transformations (e.g. expressed as Henshin rules [43]) to specify mutation operators, which are used for generating new candidate solution models. Writing these transformations is difficult: naïve implementations can cause the search to get stuck in local optima or to work very inefficiently. Models are expressed in higher-level languages providing abstractions that are just right for the problem to be solved. Model transformations are often expressed using specialised languages and tools

Objectives
Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call