New Trends and Ideas
A survey of many-objective optimisation in search-based software engineering

https://doi.org/10.1016/j.jss.2018.12.015Get rights and content

Highlights

  • Software engineering problems often present many decision factors to be optimised.

  • Many-objective optimisation brings advanced search methods well-suited for SBSE.

  • The literature survey identifies many-objective SBSE as an emerging research topic.

  • We discuss current findings and outline open challenges and future work in the field.

Abstract

Search-based software engineering (SBSE) is changing the way traditional software engineering (SE) activities are carried out by reformulating them as optimisation problems. The natural evolution of SBSE is bringing new challenges, such as the need of a large number of objectives to formally represent the many decision criteria involved in the resolution of SE tasks. This suggests that SBSE is moving towards many-objective optimisation, an emerging area that provides advanced techniques to cope with high-dimensional optimisation problems. To analyse this phenomenon, this paper surveys relevant SBSE literature focused on the resolution of many-objective problems. From the gathered knowledge, current limitations regarding problem formulation, algorithm selection, experimental design and industrial applicability are discussed. Through the analysis of observed trends, this survey provides a historical perspective and future lines of research concerning the adoption of many-objective optimisation within SBSE.

Introduction

Software engineers daily make decisions for a variety of tasks, such as planning the best schedule to guarantee project completion or selecting the subset of requirements for the next release that satisfy stakeholders the most. In these situations, manually evaluating all possible alternatives is impractical, specially if many – often conflicting – decision criteria are involved. To support engineers, search-based software engineering proposes reformulating software engineering activities as optimisation problems to be automatically solved by search algorithms (Harman et al., 2012).

Particularly, a key element in SBSE is the definition of the fitness function, which allows numerically assessing the quality of solutions. It is usually based on software metrics, and serves to guide the search algorithm. For instance, code coverage can be used to find the minimum test suite, while the minimisation of the number of code smells can be used to guide a refactoring process. It is hard to imagine that complex SE activities could be simplified to the extend that only one metric is required. It is most likely that SE problems present several conflicting goals (Harman et al., 2012). However, it does not necessarily imply that formulating multiple objective functions is straightforward.

Nevertheless, even two or three metrics could be insufficient to express all the decision criteria appearing in standard SE tasks, leading to the formulation of SBSE problems with a larger number of objectives. This implies that SE multi-objective problems are turning into many-objective problems, a term coined to refer to those problems with four or more objectives (Chand and Wagner, 2015). This new perspective represents an important challenge, since popular multi-objective algorithms present serious difficulties when a large number of objectives is considered. Opportunely, many-objective optimisation has become an active focus of research (Chand and Wagner, 2015), with a proliferation of specialised algorithms in the last years (Li et al., 2015a). The parallelism in the development of both fields, i.e. SBSE and many-objective optimisation, suggests a potential synergy that some SBSE authors are beginning to exploit (Hierons, Li, Liu, Segura, Zheng, 2016, Fleck, Troya, Kessentini, Wimmer, 2017, Panichella, Kifetew, Tonella, 2018).

At this stage, the aim of this paper is to bring this emerging phenomenon to light as a way to encourage the SBSE community to further explore the benefits of many-objective optimisation. Following a methodological literature search and analysis (Kitchenham and Charters, 2007), this survey first digs into the origins of many-objective optimisation problems (MaOPs) within SBSE. After completing the search procedure, 72 papers were selected within the scope.

Although this is a significant number of publications that could suggest that substantial work has been done since the origin of SBSE, the reality is that SBSE is just beginning to discover the real potential of many-objective optimisation. Fig. 1 shows this upward trend by depicting the cumulative number of publications in SBSE addressing many-objective problems per year.1 As can be seen, half of the contributions have been published after 2014.

This survey analyses for the first time how SBSE is progressively incorporating emerging ideas from many-objective optimisation. Our findings suggest that a variety of many-objective problems have already been defined in SBSE, but only few approaches actually apply many-objective optimisation techniques. Nevertheless, this observation seems to be changing, and recently published studies are exploring new algorithms and approaches to solve more complete problem formulations. Hence, there are still some gaps and challenges that could open interesting lines of future research.

The rest of the paper is organised as follows. Section 2 provides some background on SBSE and many-objective optimisation. Section 3 details the methodology followed for conducting the literature survey. Sections 4–7 cover the different phases of the software life cycle, proposed as optimization problems solved from the many-objective perspective. This phase categorisation follows the literature standards in SBSE (Harman et al., 2012). The analysis of the most relevant findings is explained in Section 8, while Section 9 discusses gaps and challenges. Finally, Section 10 concludes the paper.

Section snippets

Background

This section poses the theoretical foundations of the two topics tackled in this survey. Firstly, SBSE is introduced, and then the most relevant concepts and algorithms for many-objective optimisation are explained.

Methodology

This section describes the methodology followed for literature search and analysis, which is based on best practices (Kitchenham and Charters, 2007). The process involves both automatic and manual literature search, the selection of primary studies based on well-defined inclusion and exclusion criteria, and the corresponding data extraction. Each of these steps is detailed next. Additionally, different outcomes like the lists of papers and the sheet generated from data extraction can be found

MaOPs in project management and requirements

In the context of project management, SBSE has been mostly applied to predictive modelling, task scheduling and resource planning – often together with the so-called project scheduling –, all of them being critical for the success of the project (Ferrucci et al., 2014). All these activities require the trade-off among a large number of goals, that is, more than three objectives in this context. As detailed next in Sections 4.1 (for predictive modelling) and 4.2 (for project scheduling), authors

MaOPs in software analysis and design

Search-based software design is focused on the semi-automation of design tasks for a variety of paradigms, including object-oriented and service-oriented design (Räihä, 2010). The class responsibility assignment problem consists in assigning methods and attributes to a number of classes (Bowman et al., 2010), while trying to produce a highly cohesive and low-coupled object-oriented design. Three coupling and two cohesion metrics serve to guide SPEA2, showing that a many-objective formulation is

MaOPs in software testing

Testing is a predominant task in SBSE, where researchers have identified the need of formulating fitness functions beyond code coverage, specially those referred to non-functional properties (McMinn, 2011, Harman, Jia, Zhang, 2015). Nevertheless, despite the maturity of the field of search-based software testing (SBST), it is not until 2013 that testing problems have been extended in their formulation.

Regression testing is one common scenario for the application of SBST methods. Notice that

MaOPs in software maintenance

Maintenance and evolution tasks refer to those decisions aimed at preserving or improving system quality once it is in operation (Bavota et al., 2014). Many-objective optimisation has been explored in the three main maintenance topics within SBSE: modularisation, software correction and refactoring.

Discussion of findings

Previous sections have revealed a strong presence of many-objective optimisation problems in SBSE. Next, the most relevant findings from the surveyed proposals are discussed according to four dimensions: problem definition, algorithm selection, experimental validation and practical implications.

Gaps and challenges

After an in-depth analysis of the state-of-the-art, we can identify gaps in at least four areas: (1) SE activities to be further explored; (2) dependencies between objectives; (3) advanced approaches to dynamically handle many objectives during search; and (4) exploration of industrial opportunities brought by ongoing research in many-objective optimisation. They all represent new challenges to be addressed in the future.

Exploration of SE activities. The underdevelopment of the project

Concluding remarks

The need of including many decision factors is encouraging SBSE researchers to explore the use of more advanced techniques. This survey has analysed 60 studies, reporting a great variety of SE tasks formulated as many-objective problems. Even though there is still a certain bias towards popular multi-objective algorithms like NSGA-II, a growing interest in more specialised techniques can be observed. Indeed, more than half of the reviewed studies adopted many-objective approaches of diverse

Acknowledgments

This work was supported by the Spanish Ministry of Economy and Competitiveness [project TIN2017-83445-P]; the Spanish Ministry of Education [grant FPU13/01466]; and FEDER funds.

Aurora Ramírez received the M.Sc. and Ph.D. degrees in Computer Science from the University of Córdoba, Córdoba, Spain, in 2012 and 2018, respectively. She is a member of the Knowledge Discovery and Intelligent Systems Research Laboratory, where she has conducted her research in search-based software design and evolutionary computation. Her research interests include search-based software engineering and metaheuristics, with particular focus on multi-objective and interactive optimisation.

References (131)

  • B. Li et al.

    Many-objective evolutionary algorithms

    ACM Comput. Surv.

    (2015)
  • K. Li et al.

    An evolutionary many-objective optimization algorithm based on dominance and decomposition

    IEEE Trans. Evol. Comput.

    (2015)
  • M.W. Mkaouer et al.

    High dimensional search-based software engineering: finding tradeoffs a Mong 15 objectives for automating software refactoring using NSGA-III

    Proceedings of the 16th International Conference Genetic and Evolutionary Computation (GECCO)

    (2014)
  • R. Olaechea et al.

    Comparison of exact and approximate multi-objective optimization for software product lines

    Proceedings of the 18th International Software Product Line Conference (SPLC)

    (2014)
  • D. Rodríguez et al.

    Multiobjective simulation optimisation in software project management

    Proceedings of the 13th International Conference Genetic and Evolutionary Computation (GECCO)

    (2011)
  • A. Aleti et al.

    Software architecture optimization methods: a systematic literature review

    IEEE Trans. Softw. Eng.

    (2013)
  • Amarjeet Chhabra, J. K.,2014a. An empirical study of the sensitivity of quality indicator for software module...
  • Amarjeet et al.

    Preserving core components of object-oriented packages while maintaining structural quality

    Proceedings of the International Conference on Information and Communication Technologies (ICICT)

    (2014)
  • A. Arcuri

    Evomaster: evolutionary multi-context automated system test generation

    Proceedings of the IEEE 11th International Conference Software Testing, Verification and Validation (ICST)

    (2018)
  • A. Arcuri

    Test suite generation with the many independent objective (MIO) algorithm

    Inf. Softw. Technol

    (2018)
  • A. Arcuri et al.

    A hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering

    Softw. Test. Verif. Reliab.

    (2014)
  • M. Asafuddoula et al.

    A decomposition based evolutionary algorithm for many objective optimization with systematic sampling and adaptive epsilon control

    Evolutionary Multi-Criterion Optimization

    (2013)
  • N. Asoudeh et al.

    A multi-objective genetic algorithm for generating test suites from extended finite state machines

    Proceedings of the 5th International Symposium on Search Based Software Engineering (SSBSE)

    (2013)
  • W.K.G. Assunção et al.

    On the application of the multi-evolutionary and coupling-based approach with different aspect-class integration testing strategies

    Proceedings of the 5th International Symposium on Search Based Software Engineering (SSBSE)

    (2013)
  • W.K.G. Assunção et al.

    A multi-objective optimization approach for the integration and test order problem

    Inf. Sci.

    (2014)
  • J. Bansiya et al.

    A hierarchical model for object-oriented design quality assessment

    IEEE Trans. Softw. Eng.

    (2002)
  • M.d.O. Barros

    An analysis of the effects of composite objectives in multiobjective software module clustering

    Proceedings of the 14th International Conference Genetic and Evolutionary Computation (GECCO)

    (2012)
  • G. Bavota et al.

    Putting the Developer In-the-loop: An Interactive GA for Software Re-modularization

    Proceedings of the 4th International Symposium on Search Based Software Engineering

    (2012)
  • G. Bavota et al.

    Evolving Software Systems

    Search Based Software Maintenance: Methods and Tools

    (2014)
  • N. Beume et al.

    SMS-EMOA: multiobjective selection based on dominated hypervolume

    Eur. J. Oper. Res.

    (2007)
  • M. Bowman et al.

    Solving the class responsibility assignment problem in object-oriented analysis with multi-objective genetic algorithms

    IEEE Trans. Softw. Eng.

    (2010)
  • L. Briand et al.

    A multi-objective genetic algorithm to rank state-based test cases

    Proceedings of the 5th International Symposium on Search Based Software Engineering

    (2013)
  • D. Brockhoff et al.

    Objective reduction in evolutionary multiobjective optimization: theory and applications

    Evol. Comput.

    (2009)
  • J. Campos et al.

    An empirical evaluation of evolutionary algorithms for test suite generation

    Proceedings of the 9th International Symposium Search Based Software Engineering (SSBSE)

    (2017)
  • G. Canfora et al.

    An approach for QoS-aware service composition based on genetic algorithms

    Proceedings of the 7th International Conference Genetic And Evolutionary Computation (GECCO)

    (2005)
  • S. Chand et al.

    Evolutionary many-objective optimization: a quick-start guide

    Surv. Operat. Res. Manag. Sci.

    (2015)
  • R. Cheng et al.

    A reference vector guided evolutionary algorithm for many-objective optimization

    (2016)
  • S.R. Chidamber et al.

    A metrics suite for object oriented design

    IEEE Trans. Softw. Eng.

    (1994)
  • C.A. Coello Coello et al.

    Evolutionary algorithms for solving multi-Objective problems

    (2007)
  • Colanzi, T. E., Vergilio, S. R., 2012. Applying search based optimization to software product line architectures:...
  • A. De Campos Jr. et al.

    Many-objective Evolutionary Algorithms in the Composition of Web Services

    Proceedings of the 11th Brazilian Symposium on Neural Networks

    (2010)
  • T.J. Dea

    Improving the performance of many-objective software refactoring technique using dimensionality reduction

    Proceedings of the 8th International Symposium on Search Based Software Engineering (SSBSE)

    (2016)
  • K. Deb et al.

    An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part i: solving problems with box constraints

    IEEE Trans. Evol. Comput.

    (2014)
  • K. Deb et al.

    Reference point based multi-objective optimization using evolutionary algorithms

    Proceedings of the 8th Annual Conference Genetic and Evolutionary Computation (GECCO)

    (2006)
  • J.J. Durillo et al.

    jMetal: a java framework for multi-objective optimization

    Adv. Eng. Softw.

    (2011)
  • M. Farina et al.

    On the optimal solution definition for many-criteria optimization problems

    Proceedings of the Annual Meeting of the North American Fuzzy Information Processing Society

    (2002)
  • E. Figueiredo et al.

    Many objective particle swarm optimization

    Inf. Sci.

    (2016)
  • A. Finkelstein et al.

    A search based approach to fairness analysis in requirement assignments to aid negotiation

    Med. Decis. Making. Requir. Eng.

    (2009)
  • M. Fleck et al.

    Model transformation modularization as a many-objective optimization problem

    IEEE T. Softw. Eng.

    (2017)
  • F.A. Fortin et al.

    DEAP: evolutionary algorithms made easy

    J. Mach. Learn. Res.

    (2012)
  • Cited by (80)

    • An ACO-based Hyper-heuristic for Sequencing Many-objective Evolutionary Algorithms that Consider Different Ways to Incorporate the DM's Preferences

      2023, Swarm and Evolutionary Computation
      Citation Excerpt :

      Most MOEAs have limitations in addressing MaOPs [1], being more severe for algorithms based on Pareto ranking [2] and less severe for decomposition-based algorithms like MOEA/D [3]. Unfortunately, swarm-based metaheuristics have not been explored so widely in this context [4]. Still, some studies give evidence of the great potential of variants of Ant Colony Optimization [5] and Particle Swarm Optimization [2] to solve MaOPs.

    View all citing articles on Scopus

    Aurora Ramírez received the M.Sc. and Ph.D. degrees in Computer Science from the University of Córdoba, Córdoba, Spain, in 2012 and 2018, respectively. She is a member of the Knowledge Discovery and Intelligent Systems Research Laboratory, where she has conducted her research in search-based software design and evolutionary computation. Her research interests include search-based software engineering and metaheuristics, with particular focus on multi-objective and interactive optimisation.

    José Raúl Romero received the M.Sc. and Ph.D. degrees in computer science from the University of Málaga, Spain, in 2003 and 2007, respectively. He is currently an Associate Professor with the Department of Computer Science and Numerical Analysis, University of Córdoba. He has published over 100 papers in journals, books and scientific conferences, and collaborated in different research projects and excellence networks. His research interests include the development of intelligent systems for supporting the software development process and the democratization and automation of data science. He can be reached at http://www.jrromero.net/en.

    Sebastián Ventura received the B.Sc. and Ph.D. degrees in sciences from the University of Córdoba, Córdoba, Spain, in 1989 and 1996, respectively. He is currently a Full Professor with the Department of Computer Science and Numerical Analysis, University of Córdoba, where he heads the Knowledge Discovery and Intelligent Systems Research Laboratory. He has published over 250 papers in journals and scientific conferences, and he has edited three books and several special issues in international journals. He has also been engaged in 12 research projects. His current research interests include soft-computing, machine learning, and data mining and their applications.

    View full text