Skip to main content
Log in

Software requirement optimization using a fuzzy artificial chemical reaction optimization algorithm

  • Methodologies and Application
  • Published:
Soft Computing Aims and scope Submit manuscript

Abstract

In agile methods, software products are developed in several releases. In each release, a new set of requirements for development is proposed. Due to technical and non-technical problems, it is almost impossible to develop all the proposed requirements in the next release. The select of an optimal subset from among all the proposed requirements has become an important problem for the developer team. The aim of this problem is to select an optimal subset from among the requirements for product development in the next release so that it has the highest satisfaction to the clients and the lowest cost for the manufacturing company. Since this problem faces two conflicting objectives and several constraints, it is placed in the NP-hard problems category. In this paper, we intend to formulate this problem for the first time as a fuzzy multi-objective optimization problem. We intend to use an artificial chemical reaction optimization algorithm to solve this problem. In the implementation stage, we make use of five interactions between requirements as one of the constraints of the problem for the first time. Two randomized fuzzy synthetic datasets are used to do the experiments. The results of the proposed algorithm are evaluated using three criteria of multi-objective problems. The results and diagrams of the proposed algorithm are very reliable and can help the developer team to make a decision.

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
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  • Alrashoud M, Abhari A (2017) Planning for the next software release using adaptive network-based fuzzy inference system. Intell Decis Technol 11:153–165

    Article  Google Scholar 

  • Araújo AA, Paixao M, Yeltsin I, Dantas A, Souza J (2017) An architecture based on interactive optimization and machine learning applied to the next release problem. Autom Softw Eng 24:623–671

    Article  Google Scholar 

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

    Article  Google Scholar 

  • Cai X, Cheng X, Fan Z, Goodman E, Wang L (2017) An adaptive memetic framework for multi-objective combinatorial optimization problems: studies on software next release and travelling salesman problems. Soft Comput 21:2215–2236

    Article  Google Scholar 

  • Chatterjee S, Maji B (2016) A new fuzzy rule based algorithm for estimating software faults in early phase of development. Soft Comput 20:4023–4035

    Article  Google Scholar 

  • 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 

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

    Article  Google Scholar 

  • Chaves-González JM, Pérez-Toledano MA, Navasa A (2015b) Teaching learning based optimization with Pareto tournament for the multiobjective software requirements selection. Eng Appl Artif Intell 43:89–101

    Article  Google Scholar 

  • Dam TL, Li K, Fournier-Viger P (2017) Chemical reaction optimization with unified tabu search for the vehicle routing problem. Soft Comput 21:6421–6433

    Article  Google Scholar 

  • De Souza JT, Maia CL, do Nascimento Ferreira T, Do Carmo RA, Brasil MM (2011) An ant colony optimization approach to the software release planning with dependent requirements. In: International symposium on search based software engineering, pp 142–157

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

    MATH  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

  • Dhanajayan RC, Pillai SA (2017) SLMBC: spiral life cycle model-based Bayesian classification technique for efficient software fault prediction and classification. Soft Comput 21:403–415

    Article  Google Scholar 

  • Durillo JJ, Zhang Y, Alba E, Harman M, Nebro AJ (2011) A study of the bi-objective next release problem. Empir Softw Eng 16:29–60

    Article  Google Scholar 

  • Ebrahimnejad A, Karimnejad Z, Alrezaamiri H (2015) Particle swarm optimisation algorithm for solving shortest path problems with mixed fuzzy arc weights. Int J Appl Decis Sci 8:203–222

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Guo W, Chen M, Wang L, Wu Q (2017) Hyper multi-objective evolutionary algorithm for multi-objective optimization problems. Soft Comput 21:5883–5891

    Article  Google Scholar 

  • 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 software engineering and data mining (SEDM), pp 166–171

  • Karlsson J (1996) Software requirements prioritizing in requirements engineering. Proc Second Int Conf 1996:110–116

    Google Scholar 

  • 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, pp 98–105

  • Lai X, Xie M, Tan KC, Yang B (2008) Ranking of customer requirements in a competitive environment. Comput Ind Eng 54:202–214

    Article  Google Scholar 

  • Lam AY, Li VO (2010) Chemical-reaction-inspired metaheuristic for optimization. IEEE Trans Evol Comput 14:381–399

    Article  Google Scholar 

  • Nayak SC, Misra BB, Behera HS (2015) Artificial chemical reaction optimization of neural networks for efficient prediction of stock market indices. Ain Shams Eng J 8:371–390

    Article  Google Scholar 

  • Pitangueira AM, Maciel RS, 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

    Article  Google Scholar 

  • Rada-Vilela J, Zhang M, Seah W (2011) Random asynchronous PSO. In: 2011 5th international conference on automation, robotics and applications (ICARA), pp 220–225

  • Rao PS, Banka H (2017) Novel chemical reaction optimization based unequal clustering and routing algorithms for wireless sensor networks. Wirel Netw 23:759–778

    Article  Google Scholar 

  • Sadiq M, Jain SK (2014) Applying fuzzy preference relation for requirements prioritization in goal oriented requirements elicitation process. Int J Syst Assur Eng Manag 5:711–723

    Article  Google Scholar 

  • Schütze O, Martín A, Lara A, Alvarado S, Salinas E, Coello CA (2016) The directed search method for multi-objective memetic algorithms. Comput Optim Appl 63:305–332

    Article  MathSciNet  MATH  Google Scholar 

  • Shen XN, Han Y, Fu JZ (2017) Robustness measures and robust scheduling for multi-objective stochastic flexible job shop scheduling problems. Soft Comput 21:6531–6554

    Article  Google Scholar 

  • Thakurta R (2017) Understanding requirement prioritization artifacts: a systematic mapping study. Requir Eng 22:491–526

    Article  Google Scholar 

  • Turan HH (2017) Stochastic fuzzy multi-objective backbone selection and capacity allocation problem under tax-band pricing policy with different fuzzy operators. Soft Comput 21:4085–4110

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Wang K, Li X, Jia C, Yang S, Li M, Li Y (2017) Multiobjective optimization of the production process for ground granulated blast furnace slags. Soft Comput 4:1

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  • 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, pp 1129–1137

Download references

Acknowledgements

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ali Ebrahimnejad.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Ethical approval

This article does not contain any studies with human participants or animals performed by any of the authors.

Additional information

Communicated by V. Loia.

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. Software requirement optimization using a fuzzy artificial chemical reaction optimization algorithm. Soft Comput 23, 9979–9994 (2019). https://doi.org/10.1007/s00500-018-3553-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-018-3553-7

Keywords

Navigation