Abstract
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.
Similar content being viewed by others
References
Albrecht AJ, Gaffney JE (1983) Software function, source lines of code, and development effort prediction: a software science validation. IEEE Trans Softw Eng 9(6):639–648
Ali S, Briand LC, Hemmati H, Panesar-Walawege RK (2010) A systematic review of the application and empirical investigation of search-based test case generation. IEEE Trans Softw Eng 36(6):742–762
Arcuri A, Fraser G (2013) Parameter tuning or default values? An empirical investigation in search-based software engineering. Empir Softw Eng 18(3):594–623
Bagnall AJ, Rayward-Smith VJ, Whittley I (2001) The next release problem. Inf Softw Technol 43(14):883–890
Baker P, Harman M, Steinhöfel K, Skaliotis A (2006) Search based approaches to component selection and prioritization for the next release problem. In: Proceedings of 22nd IEEE international conference on software maintenance (ICSM 2006). IEEE Computer Society, Philadelphia, pp 176–185
Boehm BW (1981) Software engineering economics. Prentice Hall, Englewood Cliffs
Brooks FP (1995) The mythical man-month (anniversary edn). Addison-Wesley Longman Publishing Co., Inc., Boston
Carlshamre P (2002) Release planning in market-driven software product development: provoking an understanding. Requir Eng 7(3):139–151
Carlshamre P, Sandahl K, Lindvall M, Regnell B, och Dag JN (2001) An industrial survey of requirements interdependencies in software product release planning. In: Proceedings of 5th IEEE international symposium on requirements engineering (RE 2001). IEEE Computer Society, Toronto, pp 84–93
Cheng BHC, Atlee JM (2007) Research directions in requirements engineering. In: Proceedings of international conference on software engineering, ISCE 2007. Workshop on the future of software engineering (FOSE 2007). Minneapolis, pp 285–303
Coello CAC, Lamont GB, Veldhuizen DAV (2007) Evolutionary algorithms for solving multi-objective problems evolutionary algorithms for solving multi-objective problems. Springer, New York
Davis AM (2003) The art of requirements triage. IEEE Comput 36(3):42–49
Deb K (2001) Multi-objective optimization using evolutionary algorithms. Wiley, New York
Deb K, Agrawal S, Pratap A, Meyarivan T (2002) A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans Evol Comput 6(2):182–197
del Sagrado J, del Águila IM (2009) Ant colony optimization for requirement selection in incremental software development. In: Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE ’09). IEEE, Cumberland Lodge, Windsor
del Sagrado J, del Águila I, Orellana F (2010a) Ant colony optimization for the next release problem: a comparative study. In: Proceeding of Second International Symposium on Search Based Software Engineering (SSBSE 2010), Benevento, Italy, pp 67–76
del Sagrado J, del Águila IM, Orellana FJ, Túnez S (2010b) Requirements selection: knowledge based optimization techniques for solving the next release problem. In: Proceedings of the 6th Workshop on Knowledge Engineering and Software Engineering (KESE6). Karlsruhe, Germany, CEUR-WS.org, CEUR Workshop Proceedings, vol 636
del Sagrado J, del Águila IM, Orellana FJ (2011) Requirements interaction in the next release problem. In: Proceedings of 13th annual Genetic and Evolutionary Computation Conference (GECCO 2011). Dublin, Ireland, pp 241–242
del Sagrado J, del Águila IM, Orellana FJ (2012) Metaheuristic aided software features assembly. In: Proceeding of 20th European Conference on Artificial Intelligence (ECAI 2012) Including Prestigious Applications of Artificial Intelligence (PAIS-2012) System Demonstrations Track. Montpellier, France, pp 1009–1010
de Souza JT, Maia CLB, Ferreira T, do Carmo RAF, Brasil M (2011) An ant colony optimization approach to the software release planning with dependent requirements. In: Proceedings of the 3rd International Symposium on Search Based Software Engineering (SSBSE ’11), vol 6956. Springer, Szeged, Hungary, pp 142–157
Doerner KF, Gutjahr WJ, Hartl RF, Strauss C, Stummer C (2004) Pareto ant colony optimization: a metaheuristic approach to multiobjective portfolio selection. Ann Oper Res 131(1–4):79–99
Dorigo M, Gambardella LM (1997) Ant colony system: a cooperative learning approach to the traveling salesman problem. IEEE Trans Evol Comput 1(1):53–66
Dorigo M, Stützle T (2004) Ant colony optimization. MIT Press, Cambridge, MA
Dorigo M, Birattari M, Stutzle T (2006) Ant colony optimization. IEEE Comput Intell Mag 1(4):28–39
Durillo J, Zhang Y, Alba E, Nebro A (2009) A study of the multi-objective next release problem. In: Proceeding of 1st international symposium on search based software engineering (SSBSE 2009). Cumberland Lodge, Windsor, pp 49–58
Durillo JJ, Zhang Y, Alba E, Harman M, Nebro AJ (2011) A study of the bi-objective next release problem. Empir Softw Eng 16(1):29–60
Feo TA, Resende MGC (1989) A probabilistic heuristic for a computationally difficult set covering problem. Oper Res Lett 8(2):67–71
Feo T, Resende M (1995) Greedy randomized adaptive search procedures. J Global Optim 6:109–133
Finkelstein A, Harman M, Mansouri SA, Ren J, Zhang Y (2008) “Fairness analysis” in requirements assignments. In: Proceeding of 16th IEEE international requirements engineering conference (RE 2008). Barcelona, pp 115–124
Finkelstein A, Harman M, Mansouri SA, Ren J, Zhang Y (2009) A search based approach to fairness analysis in requirement assignments to aid negotiation, mediation and decision making. Requirement Eng 14(4):231–245
Garey MR, Johnson DS (1990) Computers and intractability: a guide to the theory of NP-completeness. Freeman, New York
Greer D, Ruhe G (2004) Software release planning: an evolutionary and iterative approach. Inf Softw Technol 46(4):243–253
Häckel S, Fischer M, Zechel D, Teich T (2008) A multi-objective ant colony approach for pareto-optimization using dynamic programming. In: Proceedings of genetic and evolutionary computation conference (GECCO 2008). ACM, Atlanta, pp 33–40
Harman M (2007) The current state and future of search based software engineering. In: Future of software engineering, FOSE ’07, pp 342–357
Harman M, Jones BF (2001) Search-based software engineering. Inf Softw Technol 43(14):833–839
Iredi S, Merkle D, Middendorf M (2001) Bi-criterion optimization with multi colony ant algorithms. In: Proceedings of evolutionary multi-criterion optimization, first international conference (EMO 2001). Zurich, pp 359–372
Jiang H, Zhang J, Xuan J, Re Z, Hu Y (2010) A hybrid ACO algorithm for the next release problem. In: Proceedings of the 2nd international conference on software engineering and data mining (SEDM ’10). IEEE, Chengdu, pp 166–171
Johnson J (2003) CHAOS chronicles v3.0. Tech. rep.
Karlsson J, Olsson S, Ryan K (1997) Improving practical support for large-scale requirement prioritising. Requirement Eng 2(1):51–60
Kotonya G, Sommerville I (1998) Requirements engineering: processes and techniques. Wiley, New York
Momoh J, Ruhe G (2006) Release planning process improvement an industrial case study. Software Process Improvement and Practice 11(3):295–307
Pitsoulis L, Resende M (2003) Greedy randomized adaptive search procedures. Oxford University Press, pp 168–183
Resende M, Ribeiro C (2003) Greedy randomized adaptive search procedures. Kluwer Academic Publishers, Dordrecht, pp 219–249
Ruhe G, Saliu MO (2005) The art and science of software release planning. IEEE Softw 22(6):47–53
Saliu MO, Ruhe G (2007) Bi-objective release planning for evolving software systems. In: Proceedings of the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT international symposium on foundations of software engineering. Dubrovnik, Croatia, pp 105–114
Schott J (1995) Fault tolerant design using single and multicriteria genetic algorithm optimization. PhD thesis, Massachusetts Institute of Technology, M.S., USA
Simmons E (2004) Requirements triage: what can we learn from a “medical” approach? IEEE Softw 21(4):86–88
Srinivas N, Deb K (1994) Muiltiobjective optimization using nondominated sorting in genetic algorithms. Evoltionary Computation 2:221–248
Vianna DS, Arroyo JEC (2004) A GRASP algorithm for the multi-objective knapsack problem. In: Proceedings of 24th International Conference of the Chilean Computer Science Society (SCCC 2004), pp 69–75
Wiegers KE (2003) Software requirements. Microsoft Press, Redmon, WA, USA
Wohlin C, Runeson P, Höst M, Ohlsson M, Regnell B, Wesslén A (2012) Experimentation in software engineering: an introduction. Springer, Berlin
Zhang Y, Harman M (2010) Search based optimization of requirements interaction management. In: Proceedings of Second International Symposium on Search Based Software Engineering (SSBSE 2010). Benevento, Italy, pp 47–56
Zhang Y, Harman M, Mansouri SA (2007) The multi-objective next release problem. In: Proceedings of Genetic and Evolutionary Computation Conference (GECCO 2007). London, England, UK, pp 1129–1137
Zitzler E, Thiele L (1999) Multiobjective evolutionary algorithms: a comparative case study and the strength pareto approach. IEEE Trans Evol Comput 3(4):257–271
Acknowledgements
This research has been funded by the Spanish Ministry of Education, Culture and Sport under project TIN2010-20900-C04-02. We wish also thank to anonymous reviewers for their useful comments.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Mark Harman
Appendix: Experiments results
Appendix: Experiments results
Rights and permissions
About this article
Cite this article
del Sagrado, J., del Águila, I.M. & Orellana, F.J. Multi-objective ant colony optimization for requirements selection. Empir Software Eng 20, 577–610 (2015). https://doi.org/10.1007/s10664-013-9287-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-013-9287-3