Skip to main content
Log in

Parallel multi-objective artificial bee colony algorithm for software requirement optimization

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

In incremental software development approaches, the product is developed in various releases. In each release, a set of requirements is proposed for the development. Usually, due to lack of funds, lack of time and dependency between requirements, there is no possibility to develop all the required requirements. There are two conflicting objectives for choosing an optimal subset of the requirements: increasing customer satisfaction and reducing development costs. This problem is known as the next release problem (NRP) and is categorized as an NP-hard problem. Unlike the standard version of the NRP, we formulate this problem as a restricted multi-objective optimization problem. There exist metaheuristic algorithms for solving this problem performed as serials. In this paper, we introduce a parallel algorithm based on the master–slave model in order to improve the quality of the solutions. Based on the criteria of multi-objective problems, the quality of the obtained solution is compared with several metaheuristic algorithms. Two scenarios and two different datasets are used for experiments. Results indicate that the proposed method in the first scenario would highly improve the quality of solutions. Moreover, the method reduces execution time significantly through improvement in the quality of the solution in the second scenario.

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

  1. Alrezaamiri H, Ebrahimnejad A, Motameni H (2018) Software requirement optimization using a fuzzy artificial chemical reaction optimization algorithm. Soft Comput 23:1–16

    Google Scholar 

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

    Google Scholar 

  3. Chaves-González JM, Pérez-Toledano MA (2015) Differential evolution with Pareto tournament for the multi-objective next release problem. Appl Math Comput 252:1–13

    MathSciNet  MATH  Google Scholar 

  4. Chaves-González JM, Pérez-Toledano MA, Navasa A (2015) Software requirement optimization using a multiobjective swarm intelligence evolutionary algorithm. Knowl-Based Syst 83:105–115

    Google Scholar 

  5. Chaves-González JM, Vega-Rodríguez MA, Granado-Criado JM (2013) A multiobjective swarm intelligence approach based on artificial bee colony for reliable DNA sequence design. Eng Appl Artif Intell 26(9):2045–2057

    Google Scholar 

  6. Colanzi TE, Vergilio SR (2016) A feature-driven crossover operator for multi-objective and evolutionary optimization of product line architectures. J Syst Softw 121:126–143

    Google Scholar 

  7. Deb K (2001) Multi-objective optimization using evolutionary algorithms, vol 16. Wiley, Hoboken

    MATH  Google Scholar 

  8. Deb K, Pratap A, Agarwal S, Meyarivan TAMT (2002) A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans Evol Comput 6(2):182–197

    Google Scholar 

  9. De la Hidalga AN, Hardisty A, Jones A (2016) SCRAM–CK: applying a collaborative requirements engineering process for designing a web based e-science toolkit. Requir Eng 21(1):107–129

    Google Scholar 

  10. Del Sagrado J, Del Aguila IM, Orellana FJ (2015) Multi-objective ant colony optimization for requirements selection. Empir Softw Eng 20(3):577–610

    Google Scholar 

  11. Delgarm N, Sajadi B, Delgarm S (2016) Multi-objective optimization of building energy performance and indoor thermal comfort: a new method using artificial bee colony (ABC). Energy Build 131:42–53

    Google Scholar 

  12. De Souza JT, Maia CLB, Ferreira TN, Carmo RAF, Brasil MMA (2011) An ant colony optimization approach to the software release planning with dependent requirements. In: Cohen MB, Ó Cinnéide M (eds) Search based software engineering. SSBSE 2011. Lecture notes in computer science, vol 6956. Springer, Berlin, Heidelberg

    Google Scholar 

  13. Dragicevic S, Celar S, Turic M (2017) Bayesian network model for task effort estimation in agile software development. J Syst Softw 127:109–119

    Google Scholar 

  14. 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

    Google Scholar 

  15. Ebrahimnejad A, Tavana M, Alrezaamiri H (2016) A novel artificial bee colony algorithm for shortest path problems with fuzzy arc weights. Measurement 93:48–56

    Google Scholar 

  16. Femmer H, Fernández DM, Wagner S, Eder S (2017) Rapid quality assurance with requirements smells. J Syst Softw 123:190–213

    Google Scholar 

  17. Ferrari A, Spoletini P, Gnesi S (2016) Ambiguity and tacit knowledge in requirements elicitation interviews. Requir Eng 21(3):333–355

    Google Scholar 

  18. Gong YJ, Chen WN, Zhan ZH, Zhang J, Li Y, Zhang Q, Li JJ (2015) Distributed evolutionary algorithms and their models: a survey of the state-of-the-art. Appl Soft Comput 34:286–300

    Google Scholar 

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

    Google Scholar 

  20. Harman M, Mansouri SA, Zhang Y (2012) Search based software engineering: Trends. Tech Appl, ACM Comput Surv 5:11

    Google Scholar 

  21. Iimura I, Hamaguchi K, Ito T, Nakayama S (2005) A study of distributed parallel processing for queen ant strategy in ant colony optimization. In: Sixth international conference on parallel and distributed computing, applications and technologies, 2005. PDCAT 2005, IEEE, pp 553–557

  22. Jayatilleke S, Lai R, Reed K (2018) A method of requirements change analysis. Requir Eng 23(4):493–508

    Google Scholar 

  23. Jiang H, Zhang J, Xuan J, Ren Z, Hu Y (2010) A hybrid ACO algorithm for the next release problem. In: 2010 2nd international conference on software engineering and data mining (SEDM), IEEE, pp 166–171

  24. Karlsson J (1996) Software requirements prioritizing. In: Proceedings of the second international conference on requirements engineering, IEEE, pp 110–116

  25. Knowles J, Corne D (1999) The pareto archived evolution strategy: a new baseline algorithm for pareto multiobjective optimisation. In: Proceedings of the 1999 congress on evolutionary computation, 1999. CEC 99, IEEE, vol 1, pp 98–105

  26. Lindsjørn Y, Sjøberg DI, Dingsøyr T, Bergersen GR, Dybå T (2016) Teamwork quality and project success in software development: a survey of agile development teams. J Syst Softw 122:274–286

    Google Scholar 

  27. Liu L, Zhou Q, Liu J, Cao Z (2017) Requirements cybernetics: elicitation based on user behavioral data. J Syst Softw 124:187–194

    Google Scholar 

  28. Meade A, Deeptimahanti DK, Buckley J, Collins JJ (2017) An empirical study of data decomposition for software parallelization. J Syst Softw 125:401–416

    Google Scholar 

  29. Misaghian N, Motameni H (2016) An approach for requirements prioritization based on tensor decomposition. Requir Eng. https://doi.org/10.1007/s00766-016-0262-6

    Article  Google Scholar 

  30. Nebro AJ, Durillo JJ, Luna F, Dorronsoro B, Alba E (2009) MOCell: a cellular genetic algorithm for multiobjective optimization. Int J Intell Syst 24(7):726–746

    MATH  Google Scholar 

  31. Parejo JA, Sánchez AB, Segura S, Ruiz-Cortés A, Lopez-Herrejon RE, Egyed A (2016) Multi-objective test case prioritization in highly configurable systems: a case study. J Syst Softw 122:287–310

    Google Scholar 

  32. Prakash D, Prakash N (2017) A multifactor approach for elicitation of Information requirements of data warehouses. Requir Eng. https://doi.org/10.1007/s00766-017-0283-9

    Article  Google Scholar 

  33. Pitangueira AM, Maciel RSP, Barros M (2015) Software requirements selection and prioritization using SBSE approaches: a systematic review and mapping of the literature. J Syst Softw 103:267–280

    Google Scholar 

  34. Rubio-Largo Á, Vega-Rodríguez MA, González-Álvarez DL (2015) Multiobjective swarm intelligence for the traffic grooming problem. Comput Optim Appl 60(2):479–511

    MathSciNet  MATH  Google Scholar 

  35. Thew S, Sutcliffe A (2018) Value-based requirements engineering: method and experience. Requir Eng 23(4):443–464

    Google Scholar 

  36. Veerapen N, Ochoa G, Harman M, Burke EK (2015) An integer linear programming approach to the single and bi-objective next release problem. Inf Softw Technol 65:1–13

    Google Scholar 

  37. Vianna DS, Arroyo JEC (2004) A GRASP algorithm for the multi-objective knapsack problem. In: 24th international conference of the Chilean computer science society, 2004. SCCC 2004, IEEE, pp 69–75

  38. Wessing S, Preuss M (2016) On multiobjective selection for multimodal optimization. Comput Optim Appl 63(3):875–902

    MathSciNet  MATH  Google Scholar 

  39. Xiang Y, Peng Y, Zhong Y, Chen Z, Lu X, Zhong X (2014) A particle swarm inspired multi-elitist artificial bee colony algorithm for real-parameter optimization. Comput Optim Appl 57(2):493–516

    MathSciNet  MATH  Google Scholar 

  40. Yurtkuran A, Emel E (2015) An adaptive artificial bee colony algorithm for global optimization. Appl Math Comput 271:1004–1023

    MathSciNet  MATH  Google Scholar 

  41. Yu W, Zhang W (2006) Study on function optimization based on master-slave structure genetic algorithm. In: 2006 8th international conference on signal processing, IEEE, vol 3

  42. Zhang Y, Harman M, Mansouri SA (2007) The multi-objective next release problem. In: Proceedings of the 9th annual conference on Genetic and evolutionary computation, ACM, pp 1129–1137

Download references

Acknowledgements

The authors would like to thank the anonymous reviewers and the editor in chief for their insightful comments and suggestions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ali Ebrahimnejad.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Alrezaamiri, H., Ebrahimnejad, A. & Motameni, H. Parallel multi-objective artificial bee colony algorithm for software requirement optimization. Requirements Eng 25, 363–380 (2020). https://doi.org/10.1007/s00766-020-00328-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-020-00328-y

Keywords

Navigation