Multi-objective ant colony optimization for requirements selection

The selection of a set of requirements between all the requirements previously defined by customers is an important process, repeated at the beginning of each development step when an incremental or agile software development approach is adopted. The set of selected requirements will be developed during the actual iteration. This selection problem can be reformulated as a search problem, allowing its treatment with metaheuristic optimization techniques. This paper studies how to apply Ant Colony Optimization algorithms to select requirements. First, we describe this problem formally extending an earlier version of the problem, and introduce a method based on Ant Colony System to find a variety of efficient solutions. The performance achieved by the Ant Colony System is compared with that of Greedy Randomized Adaptive Search Procedure and Non-dominated Sorting Genetic Algorithm, by means of computational experiments carried out on two instances of the problem constructed from data provided by the experts.

[1]  R. K. Ursem Multi-objective Optimization using Evolutionary Algorithms , 2009 .

[2]  Lionel C. Briand,et al.  A Systematic Review of the Application and Empirical Investigation of Search-Based Test Case Generation , 2010, IEEE Transactions on Software Engineering.

[3]  Thomas Stützle,et al.  Ant colony optimization: artificial ants as a computational intelligence technique , 2006 .

[4]  Richard F. Hartl,et al.  Pareto Ant Colony Optimization: A Metaheuristic Approach to Multiobjective Portfolio Selection , 2004, Ann. Oper. Res..

[5]  Alexander Thomasian,et al.  A GRASP algorithm for the multi-objective knapsack problem , 2004 .

[6]  Günther Ruhe,et al.  Search Based Software Engineering , 2013, Lecture Notes in Computer Science.

[7]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

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

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

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

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

[12]  Francisco Javier Orellana,et al.  Metaheuristic Aided Software Features Assembly , 2012, ECAI.

[13]  Manuel López-Ibáñez,et al.  Ant colony optimization , 2010, GECCO '10.

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

[15]  Jason R. Schott Fault Tolerant Design Using Single and Multicriteria Genetic Algorithm Optimization. , 1995 .

[16]  Tobias Teich,et al.  A multi-objective ant colony approach for pareto-optimization using dynamic programming , 2008, GECCO '08.

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

[18]  Francisco Javier Orellana,et al.  Requirements Selection: Knowledge based optimization techniques for solving the Next Release Problem , 2010, KESE.

[19]  Stefka Fidanova,et al.  Ant Colony Optimization for Multiple Knapsack Problem and Model Bias , 2004, NAA.

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

[21]  Daniel Merkle,et al.  Bi-Criterion Optimization with Multi Colony Ant Algorithms , 2001, EMO.

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

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

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

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

[26]  John E. Gaffney,et al.  Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation , 1983, IEEE Transactions on Software Engineering.

[27]  Betty H. C. Cheng,et al.  Research Directions in Requirements Engineering , 2007, Future of Software Engineering (FOSE '07).

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

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

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

[31]  M. Resende,et al.  A probabilistic heuristic for a computationally difficult set covering problem , 1989 .

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

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

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

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

[36]  Mauricio G. C. Resende,et al.  Greedy Randomized Adaptive Search Procedures , 1995, J. Glob. Optim..

[37]  Luca Maria Gambardella,et al.  Ant colony system: a cooperative learning approach to the traveling salesman problem , 1997, IEEE Trans. Evol. Comput..

[38]  Kalyanmoy Deb,et al.  Muiltiobjective Optimization Using Nondominated Sorting in Genetic Algorithms , 1994, Evolutionary Computation.

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

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

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

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

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

[44]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[45]  Jr. Frederick P. Brooks,et al.  The mythical man-month (anniversary ed.) , 1995 .

[46]  Ian Sommerville,et al.  Requirements Engineering: Processes and Techniques , 1998 .

[47]  Gordon Fraser,et al.  Parameter tuning or default values? An empirical investigation in search-based software engineering , 2013, Empirical Software Engineering.

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

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

[50]  Hanxiao Shi,et al.  Solution to 0/1 Knapsack Problem Based on Improved Ant Colony Algorithm , 2006, 2006 IEEE International Conference on Information Acquisition.

[51]  Z. Michalewicz,et al.  A new version of ant system for subset problems , 1999, Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406).

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

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

[54]  Günther Ruhe,et al.  Release planning process improvement - an industrial case study , 2006, Softw. Process. Improv. Pract..

[55]  Mark T True,et al.  Software Requirements , 2005 .

[56]  Dalessandro Soares Vianna,et al.  A GRASP algorithm for the multi-objective knapsack problem , 2004, XXIV International Conference of the Chilean Computer Science Society.