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.
Similar content being viewed by others
References
Alrezaamiri H, Ebrahimnejad A, Motameni H (2018) Software requirement optimization using a fuzzy artificial chemical reaction optimization algorithm. Soft Comput 23:1–16
Bagnall AJ, Rayward-Smith VJ, Whittley IM (2001) The next release problem. Inf Softw Technol 43(14):883–890
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
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
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
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
Deb K (2001) Multi-objective optimization using evolutionary algorithms, vol 16. Wiley, Hoboken
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
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
Del Sagrado J, Del Aguila IM, Orellana FJ (2015) Multi-objective ant colony optimization for requirements selection. Empir Softw Eng 20(3):577–610
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
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
Dragicevic S, Celar S, Turic M (2017) Bayesian network model for task effort estimation in agile software development. J Syst Softw 127:109–119
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
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
Femmer H, Fernández DM, Wagner S, Eder S (2017) Rapid quality assurance with requirements smells. J Syst Softw 123:190–213
Ferrari A, Spoletini P, Gnesi S (2016) Ambiguity and tacit knowledge in requirements elicitation interviews. Requir Eng 21(3):333–355
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
Greer D, Ruhe G (2004) Software release planning: an evolutionary and iterative approach. Inf Softw Technol 46(4):243–253
Harman M, Mansouri SA, Zhang Y (2012) Search based software engineering: Trends. Tech Appl, ACM Comput Surv 5:11
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
Jayatilleke S, Lai R, Reed K (2018) A method of requirements change analysis. Requir Eng 23(4):493–508
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
Karlsson J (1996) Software requirements prioritizing. In: Proceedings of the second international conference on requirements engineering, IEEE, pp 110–116
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
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
Liu L, Zhou Q, Liu J, Cao Z (2017) Requirements cybernetics: elicitation based on user behavioral data. J Syst Softw 124:187–194
Meade A, Deeptimahanti DK, Buckley J, Collins JJ (2017) An empirical study of data decomposition for software parallelization. J Syst Softw 125:401–416
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
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
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
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
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
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
Thew S, Sutcliffe A (2018) Value-based requirements engineering: method and experience. Requir Eng 23(4):443–464
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
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
Wessing S, Preuss M (2016) On multiobjective selection for multimodal optimization. Comput Optim Appl 63(3):875–902
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
Yurtkuran A, Emel E (2015) An adaptive artificial bee colony algorithm for global optimization. Appl Math Comput 271:1004–1023
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
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
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
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-020-00328-y