Software requirements selection and prioritization using SBSE approaches: A systematic review and mapping of the literature

A recent trend to use multi-objective modeling.The most frequent problem is related to releases.Meta-heuristics is the technique most commonly applied method in experiments.Aspects related to risk and uncertainties need to be considered in problem formulation.The majority of experiments use small scale data type. The selection and prioritization of software requirements represents an area of interest in Search-Based Software Engineering (SBSE) and its main focus is finding and selecting a set of requirements that may be part of a software release. This paper presents a systematic review and mapping that investigated, analyzed, categorized and classified the SBSE approaches that have been proposed to address software requirement selection and prioritization problems, reporting quantitative and qualitative assessment. Initially 39 papers returned from our search strategy in this area and they were analyzed by 18 previously established quality criteria. The results of this systematic review show which aspects of the requirements selection and prioritization problems were addressed by researchers, which approaches and search techniques are currently adopted to address these problems, as well as the strengths and weaknesses in this research area highlighted from the quality criteria.

[1]  F. Freitas,et al.  Software Next Release Planning Approach through Exact Optimization , 2011 .

[2]  Jerffeson Souza,et al.  A scenario-based robust model for the next release problem , 2013, GECCO '13.

[3]  Hisao Ishibuchi,et al.  Hybrid Evolutionary Algorithms , 2007 .

[4]  Mark Harman,et al.  Search Based Software Engineering: Techniques, Taxonomy, Tutorial , 2010, LASER Summer School.

[5]  Yuanyuan Zhang,et al.  Search Based Optimization of Requirements Interaction Management , 2010, 2nd International Symposium on Search Based Software Engineering.

[6]  Per Runeson,et al.  Can we evaluate the quality of software engineering experiments? , 2010, ESEM '10.

[7]  Des Greer,et al.  Software release planning: an evolutionary and iterative approach , 2004, Inf. Softw. Technol..

[8]  He Jiang,et al.  Solving the Large Scale Next Release Problem with a Backbone-Based Multilevel Algorithm , 2012, IEEE Transactions on Software Engineering.

[9]  Dietmar Pfahl,et al.  Reporting guidelines for controlled experiments in software engineering , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[10]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[11]  Günther Ruhe,et al.  Bi-objective release planning for evolving software systems , 2007, ESEC-FSE '07.

[12]  Arfan Jaffar,et al.  Analysis and optimization of software requirements prioritization techniques , 2010, 2010 International Conference on Information and Emerging Technologies.

[13]  Wee Wee Sim,et al.  Empowering Requirements Engineering Activities with Personas , 2014, CSER.

[14]  R. Feldt,et al.  A systematic review on strategic release planning models , 2010, Inf. Softw. Technol..

[15]  Yuanyuan Zhang,et al.  Comparing the performance of metaheuristics for the analysis of multi-stakeholder tradeoffs in requirements optimisation , 2011, Inf. Softw. Technol..

[16]  Pamela Zave Classification of research efforts in requirements engineering , 1997, ACM Comput. Surv..

[17]  Yuanyuan Zhang,et al.  Search Based Software Engineering: A Comprehensive Analysis and Review of Trends Techniques and Applications , 2009 .

[18]  Arkadi Nemirovski,et al.  Robust optimization – methodology and applications , 2002, Math. Program..

[19]  Yuanyuan Zhang,et al.  The multi-objective next release problem , 2007, GECCO '07.

[20]  Sjaak Brinkkemper,et al.  Determination of the Next Release of a Software Product: an Approach using Integer Linear Programming , 2005, CAiSE Short Paper Proceedings.

[21]  Yuanyuan Zhang,et al.  A search based approach to fairness analysis in requirement assignments to aid negotiation, mediation and decision making , 2009, Requirements Engineering.

[22]  Yuanyuan Zhang,et al.  “Fairness Analysis” in Requirements Assignments , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[23]  Yuanyuan Zhang,et al.  Empirical evaluation of search based requirements interaction management , 2013, Inf. Softw. Technol..

[24]  Barbara Kitchenham,et al.  Procedures for Performing Systematic Reviews , 2004 .

[25]  Camila Loiola Brito Maia,et al.  An Ant Colony Optimization Approach to the Software Release Planning with Dependent Requirements , 2011, SSBSE.

[26]  Jerffeson Teixeira de Souza,et al.  A New Approach to the Software Release Planning , 2009, 2009 XXIII Brazilian Symposium on Software Engineering.

[27]  Márcio de Oliveira Barros,et al.  A Systematic Review of Software Requirements Selection and Prioritization Using SBSE Approaches , 2013, SSBSE.

[28]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[29]  Tore Dybå,et al.  Applying Systematic Reviews to Diverse Study Types: An Experience Report , 2007, ESEM 2007.

[30]  Bernhard Sendhoff,et al.  Robust Optimization - A Comprehensive Survey , 2007 .

[31]  Mark Harman,et al.  Search Based Approaches to Component Selection and Prioritization for the Next Release Problem , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[32]  Claes Wohlin,et al.  An evaluation of methods for prioritizing software requirements , 1998, Inf. Softw. Technol..

[33]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[34]  Mariela Inés Cortés,et al.  A Multiobjective Optimization Approach to the Software Release Planning with Undefined Number of Releases and Interdependent Requirements , 2011, ICEIS.

[35]  Rolf H. Möhring,et al.  Robust and Online Large-Scale Optimization: Models and Techniques for Transportation Systems , 2009, Robust and Online Large-Scale Optimization.

[36]  Shin Yoo,et al.  Search based data sensitivity analysis applied to requirement engineering , 2009, GECCO.

[37]  Günther Ruhe,et al.  A systematic approach for solving the wicked problem of software release planning , 2007, Soft Comput..

[38]  Mark Harman,et al.  The relationship between search based software engineering and predictive modeling , 2010, PROMISE '10.

[39]  Enrique Alba,et al.  A study of the bi-objective next release problem , 2010, Empirical Software Engineering.

[40]  Günther Ruhe,et al.  Software release planning for evolving systems , 2005, Innovations in Systems and Software Engineering.

[41]  Jingyuan Zhang,et al.  A Hybrid ACO algorithm for the Next Release Problem , 2010, The 2nd International Conference on Software Engineering and Data Mining.

[42]  Mark Harman,et al.  The Current State and Future of Search Based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[43]  Jifeng Xuan,et al.  Approximate backbone based multilevel algorithm for next release problem , 2010, GECCO '10.

[44]  Isabelle Mirbel,et al.  Highlighting Stakeholder Communities to Support Requirements Decision-Making , 2013, REFSQ.

[45]  Xinye Cai,et al.  Evolutionary Approaches for Multi-Objective Next Release Problem , 2012, Comput. Informatics.

[46]  Xinye Cai,et al.  A hybrid of decomposition and domination based evolutionary algorithm for multi-objective software next release problem , 2013, 2013 10th IEEE International Conference on Control and Automation (ICCA).

[47]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[48]  Victor J. Rayward-Smith,et al.  The next release problem , 2001, Inf. Softw. Technol..

[49]  Barry W. Boehm,et al.  Developing Groupware for Requirements Negotiation: Lessons Learned , 2001, IEEE Softw..

[50]  Xiang Li,et al.  Multi-Objective Optimization Approaches to Software Release Time Determination , 2012, Asia Pac. J. Oper. Res..

[51]  El-Ghazali Talbi,et al.  Metaheuristics - From Design to Implementation , 2009 .

[52]  Günther Ruhe,et al.  Supporting Software Release Planning Decisions for Evolving Systems , 2005, 29th Annual IEEE/NASA Software Engineering Workshop.

[53]  Mark Harman,et al.  Why the Virtual Nature of Software Makes It Ideal for Search Based Optimization , 2010, FASE.

[54]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[55]  Björn Regnell,et al.  An industrial survey of requirements interdependencies in software product release planning , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[56]  Sjaak Brinkkemper,et al.  An integrated approach for requirement selection and scheduling in software release planning , 2010, Requirements Engineering.

[57]  Yuanyuan Zhang,et al.  Search Based Requirements Optimisation: Existing Work and Challenges , 2008, REFSQ.

[58]  Y Zhang,et al.  Multi-Objective Search-based Requirements Selection and Optimisation , 2010 .

[59]  Bojana Dalbelo Basic,et al.  Hill Climbing and simulated annealing in large scale next release problem , 2013, Eurocon 2013.

[60]  Des Greer,et al.  Quantitative studies in software release planning under risk and resource constraints , 2003, 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings..

[61]  Mark Harman,et al.  Search Based Software Engineering for Program Comprehension , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[62]  T. Saaty,et al.  The Analytic Hierarchy Process , 1985 .

[63]  Jerffeson Teixeira de Souza,et al.  A Recoverable Robust Approach for the Next Release Problem , 2013, SSBSE.

[64]  Aziz Deraman,et al.  Important factors in selecting Requirements Engineering techniques , 2008, 2008 International Symposium on Information Technology.

[65]  Sjaak Brinkkemper,et al.  Integrated Requirement Selection and Scheduling for the Release Planning of a Software Product , 2007, REFSQ.

[66]  Paolo Tonella,et al.  Interactive requirements prioritization using a genetic algorithm , 2013, Inf. Softw. Technol..

[67]  Ajith Abraham,et al.  Hybrid Evolutionary Algorithms: Methodologies, Architectures, and Reviews , 2007 .

[68]  Francisco Javier Orellana,et al.  Requirements interaction in the next release problem , 2011, GECCO.

[69]  M. P. Gupta,et al.  Software requirements selection using Quantum-inspired Elitist Multi-objective Evolutionary algorithm , 2012, IEEE-International Conference On Advances In Engineering, Science And Management (ICAESM -2012).

[70]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[71]  Francisco Javier Orellana,et al.  Ant Colony Optimization for the Next Release Problem: A Comparative Study , 2010, 2nd International Symposium on Search Based Software Engineering.

[72]  Paolo Tonella,et al.  Using Interactive GA for Requirements Prioritization , 2010, 2nd International Symposium on Search Based Software Engineering.

[73]  Jerffeson Souza,et al.  A Fuzzy Approach to Requirements Prioritization , 2011, SSBSE.

[74]  Enrique Alba,et al.  A Study of the Multi-objective Next Release Problem , 2009, 2009 1st International Symposium on Search Based Software Engineering.

[75]  Sjaak Brinkkemper,et al.  Software product release planning through optimization and what-if analysis , 2008, Inf. Softw. Technol..