Search Based Software Engineering

Search Based Software Engineering (SBSE) is an emerging research topic that focuses on representing aspects of Software Engineering as problems that may be solved using metaheuristic search algorithms, such as Tabu Search, Genetic Algorithms and Particle Swarm Optimisation.

Much of the research in this area has been done in the area of software testing, where Software Engineering activities are easily formulated as search problems. However, our group is more interested in the challenging areas of software project management and the corresponding activities of resource allocation, project scheduling and cost estimation.

Contact Dr Andy Connor for more information on work in this theme.

Example Projects

Search Based Software Engineering for Project Success
PhD student Jacqui Finlay is currently investigating whether search based software engineering (SBSE) can be applied during software development projects to increase the chances of a project being successful. The research is focusing on the application of SBSE in project planning and cost estimation, and will combine cost/effort estimation data with hidden social network data in order to use a search technique to find potential success or failure prediction indicators.

User Directed Search Based Reverse Engineering
MCIS student Frederik Schmidt undertook this project to investigate how metaheuristic search algorithms could be applied in the re-engineering of legacy software systems. In this work, he developed a multiple-metric approach for identifying rational software architectures as a result of automatically clustering artefacts within the legacy system. A prototype software tool for conducting the clustering was developed and will shortly be available for download.

Other Current Projects

Performance evaluation of metaheuristics in resource allocation problems. Amit Shah, MCIS

Projects Available

Multi-objective re-engineering of software architectures

Search based mutation testing