Skip to main content

Advertisement

Log in

Multi-objective ant colony optimization for requirements selection

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Bagnall AJ, Rayward-Smith VJ, Whittley I (2001) The next release problem. Inf Softw Technol 43(14):883–890

    Article  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • Boehm BW (1981) Software engineering economics. Prentice Hall, Englewood Cliffs

    MATH  Google Scholar 

  • Brooks FP (1995) The mythical man-month (anniversary edn). Addison-Wesley Longman Publishing Co., Inc., Boston

    Google Scholar 

  • Carlshamre P (2002) Release planning in market-driven software product development: provoking an understanding. Requir Eng 7(3):139–151

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    MATH  Google Scholar 

  • Davis AM (2003) The art of requirements triage. IEEE Comput 36(3):42–49

    Article  Google Scholar 

  • Deb K (2001) Multi-objective optimization using evolutionary algorithms. Wiley, New York

    MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  MATH  MathSciNet  Google Scholar 

  • 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

    Article  Google Scholar 

  • Dorigo M, Stützle T (2004) Ant colony optimization. MIT Press, Cambridge, MA

    Book  MATH  Google Scholar 

  • Dorigo M, Birattari M, Stutzle T (2006) Ant colony optimization. IEEE Comput Intell Mag 1(4):28–39

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Feo TA, Resende MGC (1989) A probabilistic heuristic for a computationally difficult set covering problem. Oper Res Lett 8(2):67–71

    Article  MATH  MathSciNet  Google Scholar 

  • Feo T, Resende M (1995) Greedy randomized adaptive search procedures. J Global Optim 6:109–133

    Article  MATH  MathSciNet  Google Scholar 

  • 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

    Article  Google Scholar 

  • Garey MR, Johnson DS (1990) Computers and intractability: a guide to the theory of NP-completeness. Freeman, New York

    Google Scholar 

  • Greer D, Ruhe G (2004) Software release planning: an evolutionary and iterative approach. Inf Softw Technol 46(4):243–253

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Kotonya G, Sommerville I (1998) Requirements engineering: processes and techniques. Wiley, New York

    Google Scholar 

  • Momoh J, Ruhe G (2006) Release planning process improvement an industrial case study. Software Process Improvement and Practice 11(3):295–307

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Ruhe G, Saliu MO (2005) The art and science of software release planning. IEEE Softw 22(6):47–53

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Srinivas N, Deb K (1994) Muiltiobjective optimization using nondominated sorting in genetic algorithms. Evoltionary Computation 2:221–248

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Wohlin C, Runeson P, Höst M, Ohlsson M, Regnell B, Wesslén A (2012) Experimentation in software engineering: an introduction. Springer, Berlin

    Book  Google Scholar 

  • 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

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Isabel M. del Águila.

Additional information

Communicated by: Mark Harman

Appendix: Experiments results

Appendix: Experiments results

Table 8 Results of Greedy Randomized Adaptive Search Procedure (GRASP)
Table 9 Results of Non-dominated Sorting Genetic Algorithm (NSGA-II)
Table 10 Results of Ant Colony System (ACS)

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-013-9287-3

Keywords

Navigation