A novel approach for the next software release using a binary artificial algae algorithm

In software incremental development methodology, the product develops in several releases. In each release, one set of the requirements is suggested for development. The development team must select a subset of the proposed requirements for development in the next release such that by consideration the limitation of the problem provides the highest satisfaction to the customers and the lowest cost to the company. This problem is known as the next release problem. In complex projects where the number of requirements is high, development teams cannot choose an optimized subset of the requirements by traditional methods, so an intelligent algorithm is required to help in the decision-making process. The main contributions of this study are fivefold: (1) The customer satisfaction and the cost of every requirement are determined by use of fuzzy numbers because of the possible changing of the customers’ priorities during the product development period; (2) An improved approximate approach is suggested for summing fuzzy numbers of different kinds, (3) A new metaheuristic algorithm namely the Binary Artificial Algae Algorithm is used for choosing an optimized subset of requirements, (4) Experiments performed on two fuzzy datasets confirm that the resulted subsets from the suggested algorithm are free of human mistake and can be a great guidance to development teams in making decisions.

[1]  Amjad Hudaib,et al.  Grey Wolf Algorithm for Requirements Prioritization , 2018 .

[2]  Harish Garg,et al.  Signed distance ranking based approach for solving bounded interval‐valued fuzzy numbers linear programming problems , 2019, Int. J. Intell. Syst..

[3]  Madjid Tavana,et al.  A novel artificial bee colony algorithm for shortest path problems with fuzzy arc weights , 2016 .

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

[5]  José del Sagrado,et al.  Three steps multiobjective decision process for software release planning , 2016, Complex..

[6]  José M. Chaves-González,et al.  Teaching learning based optimization with Pareto tournament for the multiobjective software requirements selection , 2015, Eng. Appl. Artif. Intell..

[7]  Shirley Gregor,et al.  QPLAN: Decision support for evaluating planning quality in software development projects , 2017, Decis. Support Syst..

[8]  Homayun Motameni,et al.  The fuzzy inference approach to solve multi-objective constrained shortest path problem , 2020, J. Intell. Fuzzy Syst..

[9]  Gülay Tezel,et al.  Artificial algae algorithm (AAA) for nonlinear global optimization , 2015, Appl. Soft Comput..

[10]  Homayun Motameni,et al.  Elite artificial bees' colony algorithm to solve robot's fuzzy constrained routing problem , 2020, Comput. Intell..

[11]  Vimal J. Savsani,et al.  A novel multi-objective optimization algorithm based on artificial algae for multi-objective engineering design problems , 2018, Applied Intelligence.

[12]  Mark Harman,et al.  An Integer Linear Programming approach to the single and bi-objective Next Release Problem , 2015, Inf. Softw. Technol..

[13]  Homayun Motameni,et al.  Software requirement optimization using a fuzzy artificial chemical reaction optimization algorithm , 2018, Soft Computing.

[14]  José M. Chaves-González,et al.  Differential evolution with Pareto tournament for the multi-objective next release problem , 2015, Appl. Math. Comput..

[15]  Abdolreza Abhari,et al.  Planning for the next software release using adaptive network-based fuzzy inference system , 2017, Intell. Decis. Technol..

[16]  Jérôme Hugues,et al.  Towards the systematic analysis of non-functional properties in Model-Based Engineering for real-time embedded systems , 2018, Sci. Comput. Program..

[17]  Harish Garg,et al.  A novel approach for solving all-pairs shortest path problem in an interval-valued fuzzy network , 2019, J. Intell. Fuzzy Syst..

[18]  José M. Chaves-González,et al.  Software requirement optimization using a multiobjective swarm intelligence evolutionary algorithm , 2015, Knowl. Based Syst..

[19]  Min Xie,et al.  Ranking of customer requirements in a competitive environment , 2008, Comput. Ind. Eng..

[20]  Yan Li,et al.  Zen-ReqOptimizer: a search-based approach for requirements assignment optimization , 2015, Empirical Software Engineering.

[21]  Ali Ebrahimnejad,et al.  Particle swarm optimisation algorithm for solving shortest path problems with mixed fuzzy arc weights , 2015, Int. J. Appl. Decis. Sci..

[22]  Mohd Sadiq,et al.  Applying fuzzy preference relation for requirements prioritization in goal oriented requirements elicitation process , 2014, Int. J. Syst. Assur. Eng. Manag..

[23]  Varun Gupta,et al.  Experimentation on accuracy of non functional requirement prioritization approaches for different complexity projects , 2016 .

[24]  Iraj Mahdavi,et al.  Computing a fuzzy shortest path in a network with mixed fuzzy arc lengths using alpha-cuts , 2010, Comput. Math. Appl..

[25]  Kaushal Chari,et al.  An ensemble-based model for predicting agile software development effort , 2018, Empirical Software Engineering.

[26]  Rong Zhang,et al.  Understanding software developers' cognition in agile requirements engineering , 2019, Sci. Comput. Program..

[27]  Márcio de Oliveira Barros,et al.  Minimizing the stakeholder dissatisfaction risk in requirement selection for next release planning , 2017, Inf. Softw. Technol..

[28]  Francisco Javier Orellana,et al.  Multi-objective ant colony optimization for requirements selection , 2013, Empirical Software Engineering.

[29]  Jerffeson Souza,et al.  An Architecture based on interactive optimization and machine learning applied to the next release problem , 2017, Automated Software Engineering.

[30]  Márcio de Oliveira Barros,et al.  Software requirements selection and prioritization using SBSE approaches: A systematic review and mapping of the literature , 2015, J. Syst. Softw..

[31]  Amjad Hudaib,et al.  Requirements Prioritization Techniques Comparison , 2018 .