Search-based Software Engineering (SBSE)
Led by Dr Chris Simons, Search-based Software Engineering (SBSE) is an approach that applies metaheuristic search techniques like genetic algorithms, simulated annealing, and tabu search to software engineering problems.
It is inspired by the observation that many development activities in software engineering can be formulated as optimisation problems. Due to the computational scale and complexity of these problems, exact optimisation techniques of operations research like linear programming or dynamic programming are mostly impractical. Because of this, researchers and practitioners have used metahueristic search techniques to find near optimal or good-enough solutions.
Applying SBSE techniques
Early examples of applying search techniques to software engineering problems focused on software testing, and the term "Search-Based Software Engineering" was coined in 2001 by Harman and Jones. Since then, SBSE techniques have been applied to all areas of the software development life cycle.
Elegant software designs
The SBSE chapter within the Software Engineering Research Group (SERG) has a successful track record of research into interactive search, ie where the human is placed 'in-the-loop' of the search process.
Such interactive techniques have proved highly useful in search of the early life cycle software design space, where software engineer subjective evaluation of, for example, software design elegance, has been combined with objective fitness functions relating to the structural design integrity, to arrive at elegant software designs of superior fitness to manually produced designs.