Software requirement optimization using a multiobjective swarm intelligence evolutionary algorithm

The selection of the new requirements which should be included in the development of the release of a software product is an important issue for software companies. This problem is known in the literature as the Next Release Problem (NRP). It is an NP-hard problem which simultaneously addresses two apparently contradictory objectives: the total cost of including the selected requirements in the next release of the software package, and the overall satisfaction of a set of customers who have different opinions about the priorities which should be given to the requirements, and also have different levels of importance within the company. Moreover, in the case of managing real instances of the problem, the proposed solutions have to satisfy certain interaction constraints which arise among some requirements. In this paper, the NRP is formulated as a multiobjective optimization problem with two objectives (cost and satisfaction) and three constraints (types of interactions). A multiobjective swarm intelligence metaheuristic is proposed to solve two real instances generated from data provided by experts. Analysis of the results showed that the proposed algorithm can efficiently generate high quality solutions. These were evaluated by comparing them with different proposals (in terms of multiobjective metrics). The results generated by the present approach surpass those generated in other relevant work in the literature (e.g. our technique can obtain a HV of over 60% for the most complex dataset managed, while the other approaches published cannot obtain an HV of more than 40% for the same dataset).

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

[2]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

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

[4]  A. Charan Kumari,et al.  Software Requirements Optimization Using Multi-Objective Quantum-Inspired Hybrid Differential Evolution , 2012, EVOLVE.

[5]  Thomas Stützle,et al.  Ant Colony Optimization , 2009, EMO.

[6]  Karl E. Wiegers,et al.  Software Requirements , 1999 .

[7]  Miguel A. Vega-Rodríguez,et al.  A multiobjective approach based on artificial bee colony for the static routing and wavelength assignment problem , 2013, Soft Comput..

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

[9]  Dervis Karaboga,et al.  Artificial Bee Colony (ABC) Optimization Algorithm for Solving Constrained Optimization Problems , 2007, IFSA.

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

[11]  Turan Paksoy,et al.  Swarm intelligence approaches to estimate electricity energy demand in Turkey , 2012, Knowl. Based Syst..

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

[13]  Lothar Thiele,et al.  Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach , 1999, IEEE Trans. Evol. Comput..

[14]  Kalyanmoy Deb,et al.  Multi-objective optimization using evolutionary algorithms , 2001, Wiley-Interscience series in systems and optimization.

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

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

[17]  Yuanyuan Zhang,et al.  Search-based software engineering: Trends, techniques and applications , 2012, CSUR.

[18]  Miguel A. Vega-Rodríguez,et al.  A new Multiobjective Artificial Bee Colony algorithm to solve a real-world frequency assignment problem , 2012, Neural Computing and Applications.

[19]  Gary B. Lamont,et al.  Evolutionary Algorithms for Solving Multi-Objective Problems , 2002, Genetic Algorithms and Evolutionary Computation.

[20]  Dervis Karaboga,et al.  A survey: algorithms simulating bee swarm intelligence , 2009, Artificial Intelligence Review.

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

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

[23]  Francisco Gortázar,et al.  A hybrid metaheuristic for the cyclic antibandwidth problem , 2013, Knowl. Based Syst..

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

[25]  Joachim Karlsson,et al.  Software requirements prioritizing , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[26]  David Corne,et al.  The Pareto archived evolution strategy: a new baseline algorithm for Pareto multiobjective optimisation , 1999, Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406).

[27]  Gary B. Lamont,et al.  Evolutionary Algorithms for Solving Multi-Objective Problems (Genetic and Evolutionary Computation) , 2006 .

[28]  Francisco Luna,et al.  MOCell: A cellular genetic algorithm for multiobjective optimization , 2009 .

[29]  Erik Simmons,et al.  Requirements Triage: What Can We Learn from a "Medical" Approach? , 2004, IEEE Softw..

[30]  Francisco Javier Orellana,et al.  Multi-objective ant colony optimization for requirements selection , 2013, Empirical Software Engineering.

[31]  Janez Demsar,et al.  Statistical Comparisons of Classifiers over Multiple Data Sets , 2006, J. Mach. Learn. Res..

[32]  Alok Singh,et al.  An artificial bee colony algorithm for the leaf-constrained minimum spanning tree problem , 2009, Appl. Soft Comput..

[33]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[34]  Miguel A. Vega-Rodríguez,et al.  Applying a multiobjective metaheuristic inspired by honey bees to phylogenetic inference , 2013, Biosyst..

[35]  Weiping Zhang,et al.  Tuning extreme learning machine by an improved artificial bee colony to model and optimize the boiler efficiency , 2014, Knowl. Based Syst..

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

[37]  José M. Chaves-González,et al.  A multiobjective swarm intelligence approach based on artificial bee colony for reliable DNA sequence design , 2013, Eng. Appl. Artif. Intell..