Efficient anytime algorithms to solve the bi-objective Next Release Problem

Abstract The Next Release Problem consists in selecting a subset of requirements to develop in the next release of a software product. The selection should be done in a way that maximizes the satisfaction of the stakeholders while the development cost is minimized and the constraints of the requirements are fulfilled. Recent works have solved the problem using exact methods based on Integer Linear Programming. In practice, there is no need to compute all the efficient solutions of the problem; a well-spread set in the objective space is more convenient for the decision maker. The exact methods used in the past to find the complete Pareto front explore the objective space in a lexicographic order or use a weighted sum of the objectives to solve a single-objective problem, finding only supported solutions. In this work, we propose five new methods that maintain a well-spread set of solutions at any time during the search, so that the decision maker can stop the algorithm when a large enough set of solutions is found. The methods are called anytime due to this feature. They find both supported and non-supported solutions, and can complete the whole Pareto front if the time provided is long enough.

[1]  Mark Harman,et al.  Exact scalable sensitivity analysis for the next release problem , 2014, ACM Trans. Softw. Eng. Methodol..

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

[3]  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..

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

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

[6]  Anna Perini,et al.  DMGame: A Gamified Collaborative Requirements Prioritisation Tool , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).

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

[8]  Amjad Hudaib,et al.  Grey Wolf Algorithm for Requirements Prioritization , 2018 .

[9]  Ali Selamat,et al.  A systematic literature review of software requirements prioritization research , 2014, Inf. Softw. Technol..

[10]  Dayang N. A. Jawawi,et al.  PHandler: An expert system for a scalable software requirements prioritization process , 2015, Knowl. Based Syst..

[11]  Márcio de Oliveira Barros,et al.  Minimizing the stakeholder dissatisfaction risk in requirement selection for next release planning , 2017, Inf. Softw. Technol..

[12]  Kathrin Klamroth,et al.  An augmented weighted Tchebycheff method with adaptively chosen parameters for discrete bicriteria optimization problems , 2012, Comput. Oper. Res..

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

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

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

[16]  Michel Gendreau,et al.  An exact epsilon-constraint method for bi-objective combinatorial optimization problems: Application to the Traveling Salesman Problem with Profits , 2009, Eur. J. Oper. Res..

[17]  José del Sagrado Martínez,et al.  Multi-objective ant colony optimization for requirements selection , 2015 .

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

[19]  Rahul Thakurta Understanding requirement prioritization artifacts: a systematic mapping study , 2016, Requirements Engineering.

[20]  Yuanyuan Zhang,et al.  Robust next release problem: handling uncertainty during optimization , 2014, GECCO.

[21]  Lingbo Li Exact Analysis for Next Release Problem , 2016, 2016 IEEE 24th International Requirements Engineering Conference (RE).

[22]  Günther Ruhe,et al.  The art and science of software release planning , 2005, IEEE Software.

[23]  Mark Harman,et al.  An Integer Linear Programming approach to the single and bi-objective Next Release Problem , 2015, Inf. Softw. Technol..

[24]  Pär Carlshamre,et al.  Release Planning in Market-Driven Software Product Development: Provoking an Understanding , 2002, Requirements Engineering.

[25]  Y. Aneja,et al.  BICRITERIA TRANSPORTATION PROBLEM , 1979 .

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

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

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

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

[30]  Ho-Won Jung,et al.  Optimizing Value and Cost in Requirements Analysis , 1998, IEEE Softw..

[31]  Jerffeson Teixeira de Souza,et al.  Incorporating user preferences in search-based software engineering: A systematic mapping study , 2017, Inf. Softw. Technol..

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

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

[34]  Rong Peng,et al.  DRank: A semi-automated requirements prioritization method based on preferences and dependencies , 2017, J. Syst. Softw..

[35]  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.

[36]  Carlos M. Fonseca,et al.  An Improved Dimension-Sweep Algorithm for the Hypervolume Indicator , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[37]  José M. Chaves-González,et al.  Differential evolution with Pareto tournament for the multi-objective next release problem , 2015, Appl. Math. Comput..

[38]  Wei Shen,et al.  Release planning under fuzzy effort constraints , 2004 .

[39]  Alan M. Davis,et al.  The Art of Requirements Triage , 2003, Computer.

[40]  Márcio de Oliveira Barros,et al.  Software requirements selection and prioritization using SBSE approaches: A systematic review and mapping of the literature , 2015, J. Syst. Softw..

[41]  George Mavrotas,et al.  An improved version of the augmented ε-constraint method (AUGMECON2) for finding the exact pareto set in multi-objective integer programming problems , 2013, Appl. Math. Comput..

[42]  George Mavrotas,et al.  Effective implementation of the epsilon-constraint method in Multi-Objective Mathematical Programming problems , 2009, Appl. Math. Comput..

[43]  Jerffeson Souza,et al.  An Architecture based on interactive optimization and machine learning applied to the next release problem , 2017, Automated Software Engineering.

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

[45]  Günther Ruhe,et al.  Product Release Planning - Methods, Tools and Applications , 2010 .

[46]  Fan Wu,et al.  The Value of Exact Analysis in Requirements Selection , 2017, IEEE Transactions on Software Engineering.

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

[48]  Joachim Karlsson,et al.  Improved practical support for large-scale requirements prioritising , 1997, Requirements Engineering.

[49]  José del Sagrado,et al.  Three steps multiobjective decision process for software release planning , 2016, Complex..

[50]  Matthias Ehrgott,et al.  Multicriteria Optimization , 2005 .

[51]  J. Sagrado,et al.  Dos estrategias de búsqueda anytime basadas en programación lineal entera para resolver el problema de selección de requisitos , 2016 .

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

[53]  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.