Search Based Software Engineering: Introduction to the Special Issue of the IEEE Transactions on Software Engineering
1. SBSE is highly robust. Search based optimization techniques are stochastic algorithms that can often be tuned using a selection of parameters. This can initially dissuade software engineers, particularly those more comfortable with formal approaches to software development. However, it should be noted that optimization algorithms are extremely robust and that often the solutions required need only lie within some specified tolerance. Indeed, part of the appeal of SBSE derives from the way in which it moves us away from thinking that there should be a single perfect solution to a more “engineering centric” world view in which we seek a solution that falls within a suitable tolerance. This is a world view well adapted to the emergent engineering challenges that come with nonfunctional properties, massive scales, and complex emergent behavior interactions. This issue of robustness is an important property for investigation. For example, in this special issue, the paper by Garousi addresses questions of robustness in the application of SBSE to stress testing.
2. SBSE has attractive scalability potential. Search based optimization techniques are known as “embarrassingly parallel” because of their potential for scalability through parallel execution of fitness computations. Recent work has shown how this parallelism can be exploited on General Purpose Graphical Processing devices (GPGPUs). For instance, Langdon and Banzhaf reported results that achieved multiple orders of magnitude scale up with hundreds of millions of GP operations performed per second using relatively cheap and widely available GPGPU devices [ 13].
3. SBSE creates new links. SBSE creates links between otherwise apparently unconnected software engineering disciplines. For instance, regression testing and requirements engineering are two software engineering subareas that are typically regarded as existing at opposite ends of the software development process. They have largely nonintersecting communities of researchers, each with their own separate conferences and journals. However, regression and requirements optimization problems share common formulations. Viewed through the SBSE lens, they are essentially selection and prioritization problems and can be solved with similar search-based approaches [ 12].
4. SBSE offers a source of insight. SBSE is not just a way to construct software artifacts such as test cases and designs. The process of search can be used to reveal insight into the structure of the problem to be optimized. For example, in this special issue, the papers on modeling and classification by Krogmann et al. and Yi et al., respectively, seek to give insight into models of performance and quality.
M. Harman is with the Centre for Research on Evolution, Search and Testing (CREST), Department of Computer Science, University College London, Malet Place, London WC1E 6BT, UK.
A. Mansouri is with the Brunel Business School, Brunel University, Uxbredge, Middlesex UB8 3PH, UK.
For information on obtaining reprints of this article, please send e-mail to: firstname.lastname@example.org.
1. The SBSE repository is a publicly available resource at http://www.sebase.org/sbse/publications/. The graph in Fig. 1 was constructed from the data available on 20 November 2009. The guest editors wish to thank Dr. Yuanyuan Zhang, the repository maintainer, for constructing Figs. 1 and 2 presented in this editorial.
Mark Harman is a professor of software engineering in the Department of Computer Science at University College London. He is widely known for work on source code analysis and testing and he was instrumental in the founding of the field of Search Based Software Engineering, the topic of this special issue. He has given 14 keynote invited talks on SBSE and its applications in the past four years. Professor Harman is the author of more than 150 refereed publications, is on the editorial boards of seven international journals, and has served on 90 program committees. He is director of the CREST centre at University College London.
Afshin Mansouri received the MSc and PhD degrees in industrial engineering from Amirkabir University of Technology, Iran. He is a lecturer in operations management at Brunel University, United Kingdom. Prior to this position, he worked as a research associate in the CREST centre at King's College London and as a postdoctoral research fellow in the Laboratory of Computer Science at the University of Tours, France. He has published more than 20 papers in international journals and conference proceedings on applied operations research and management science, metaheuristic search techniques, and multi-objective optimization.