An Ant Colony Optimization Approach to the Software Release Planning with Dependent Requirements

Ant Colony Optimization (ACO) has been successfully employed to tackle a variety of hard combinatorial optimization problems, including the traveling salesman problem, vehicle routing, sequential ordering and timetabling. ACO, as a swarm intelligence framework, mimics the indirect communication strategy employed by real ants mediated by pheromone trails. Among the several algorithms following the ACO general framework, the Ant Colony System (ACS) has obtained convincing results in a range of problems. In Software Engineering, the effective application of ACO has been very narrow, being restricted to a few sparse problems. This paper expands this applicability, by adapting the ACS algorithm to solve the well-known Software Release Planning problem in the presence of dependent requirements. The evaluation of the proposed approach is performed over 72 synthetic datasets and considered, besides ACO, the Genetic Algorithm and Simulated Annealing. Results are consistent to show the ability of the proposed ACO algorithm to generate more accurate solutions to the Software Release Planning problem when compared to Genetic Algorithm and Simulated Annealing.

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

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

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

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

[5]  Prabhat Mahanti,et al.  Automated testing in software engineering: using ant colony and self-regulated swarms , 2006 .

[6]  Mauro Birattari,et al.  Applications Metaheuristics for the Vehicle Routing Problem with Stochastic Demands , 2004, PPSN.

[7]  Mauro Birattari,et al.  Hybrid Metaheuristics for the Vehicle Routing Problem with Stochastic Demands , 2005, J. Math. Model. Algorithms.

[8]  Rolf Drechsler,et al.  Applications of Evolutionary Computing, EvoWorkshops 2008: EvoCOMNET, EvoFIN, EvoHOT, EvoIASP, EvoMUSART, EvoNUM, EvoSTOC, and EvoTransLog, Naples, Italy, March 26-28, 2008. Proceedings , 2008, EvoWorkshops.

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

[10]  Marco Dorigo,et al.  Ant system: optimization by a colony of cooperating agents , 1996, IEEE Trans. Syst. Man Cybern. Part B.

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

[12]  Enrique Alba,et al.  Ant colony optimization with partial order reduction for discovering safety property violations in concurrent models , 2008, Inf. Process. Lett..

[13]  Luca Maria Gambardella,et al.  An Ant Colony System Hybridized with a New Local Search for the Sequential Ordering Problem , 2000, INFORMS J. Comput..

[14]  Thomas Stützle,et al.  The Ant Colony Optimization Metaheuristic: Algorithms, Applications, and Advances , 2003 .

[15]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[16]  Michael Sampels,et al.  Ant Algorithms for the University Course Timetabling Problem with Regard to the State-of-the-Art , 2003, EvoWorkshops.

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

[18]  Zbigniew Michalewicz,et al.  Evolutionary Computation 1 , 2018 .

[19]  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).

[20]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[21]  Christine Solnon,et al.  Ant algorithm for the multidimensional knapsack problem , 2004 .