Skip to main content
Log in

A risk-driven multi-objective evolutionary approach for selecting software requirements

  • Research Paper
  • Published:
Evolutionary Intelligence Aims and scope Submit manuscript

Abstract

Exploring iterative and incremental approaches, current software projects define various delivery releases, which ought to be developed within budgetary constraints, but raising customers’ satisfaction as much as possible. In search based software engineering, such a problem is referred to as next release problem (NRP), in which the selection of software requirements for the next release is reformulated as an optimization problem. More recently, NRP proposals have evolved to a multi-objective perspective, providing non-dominated recommendations that balance the trade-off surface with respect to customers’ satisfaction and development cost. Despite key advancements in NRP proposals, most of them do not deal with software risks, which represent a vital aspect that can deeply impact on project cost and customers’ satisfaction. In such a direction, using multi-objective evolutionary algorithms (MOEAs), this paper proposes and evaluates a risk-driven systematic approach for the NRP problem, in which a risk analysis is incorporated for estimating the impact of software risks in development cost and customers’ satisfaction. By contrasting three different well-known MOEAs, empirical results based on two semi-real datasets reveal the potential efficiency and practical applicability, bringing not only more realistic, precise and meaningful estimations, but also finding a significant percentage of unanticipated solutions.

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
Fig. 12
Fig. 13

Similar content being viewed by others

References

  1. Alam I (2014) Role of software metrices in identifying the risk of project. Int J Adv Eng Technol 1(1):16–22

    Google Scholar 

  2. Arnuphaptrairong T (2011) Top ten lists of software project risks: evidence from the literature survey. In: Proceedings of the international multi conference of engineers and computer scientists, vol I, pp 732–737

  3. Aydemir FB, Dalpiaz F, Brinkkemper S, Giorgini P, Mylopoulos J (2018) The next release problem revisited: a new avenue for goal models. In: Proceedings of the IEEE 26th international requirements engineering conference, pp 5–16

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

    Article  Google Scholar 

  5. Baker P, Harman M, Steinhofel K, Skaliotis A (2006) Search based approaches to component selection and prioritization for the next release problem. In: Proceedings of the 22nd IEEE international conference on software maintenance, pp 176–185

  6. Bannerman P (2008) Risk and risk management in software projects: a reassessment. J Syst Softw 81(12):2118–2133

    Article  Google Scholar 

  7. Barros MO, Dias AC (2011) Threats to validity in search-based software engineering empirical studies. Technical report no. 6/2011, Department of Applied Informatics, Federal Univeristy of Rio de Janeiro, Brazil

  8. Boehm BW (1989) Software risk management. IEEE Computer Society Press

  9. Boehm B (1991) Software risk management: principles and practices. IEEE Softw 8(1):32–41

    Article  Google Scholar 

  10. Brasil MMA, Silva TGN, Freitas FG, Souza JT, Cortés MI (2012) A multiobjective optimization approach to the software release planning with undefined number of releases and interdependent requirements. In: Zhang R, Zhang J, Zhang Z, Filipe J, Cordeiro J (eds) Lecture notes in business information processing, vol 102. Springer, Berlin, pp 300–314

    Google Scholar 

  11. Cleland-Huang J, Settimi R, BenKhadra O, Berezhanskaya E, Christina S (2005) Goal-centric traceability for managing non-functional requirements. In: Proceedings of the 27th international conference on software engineering, pp 362–371

  12. Coello CAC, Lamont GB, Van Veldhuisen DA (2007) Evolutionary algorithms for solving multi-objective problems. Springer, Berlin

    MATH  Google Scholar 

  13. Colares F, Souza J, Carmo R, Pádua C, Mateus GR (2009) A new approach to the software release planning. In: Proceedings of the XXIII Brazilian symposium on software engineering, pp 207–215

  14. Dantas A, Yeltsin I, Araújo AA, Souza J (2012) Interactive software release planning with preferences base. In: Barros M, Labiche Y (eds) Lecture notes in computer science, vol 9275. Springer, Berlin, pp 341–346

    Google Scholar 

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

    MATH  Google Scholar 

  16. Deb K, Jain H (2014) An evolutionary many-objective optimization algorithm using reference-point based non-dominated sorting approach, part I: solving problems with box constraints. IEEE Trans Evolut Comput 18(4):577–601

    Article  Google Scholar 

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

    Article  Google Scholar 

  18. DeMarco T, Lister T (2003) Risk management during requirements. IEEE Softw 20(5):99–101

    Article  Google Scholar 

  19. Deplano I, Squillero G, Tonda A (2016) Anatomy of a portfolio optimizer under a limited budget constraint. Evol Intell 9(4):125–136

    Article  Google Scholar 

  20. Durillo JJ, Nebro AJ Luna F, Dorronsoro B, Alba E (2006) jMetal: a java framework for developing multi-objective optimization metaheuristics. Technical report ITI-2006-10, Departamento de Lenguajes y Ciencias de la Computación, University of Málaga, Málaga

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

    Article  Google Scholar 

  22. Fay MP, Proschan MA (2010) Wilcoxon-Mann-Whitney or t-test? On assumptions for hypothesis tests and multiple interpretations of decision rules. Stat Surv 4:1–39

    Article  MathSciNet  MATH  Google Scholar 

  23. Feather MS, Cornford SL (2003) Quantitative risk-based requirements reasoning. Requir Eng 8(4):248–265

    Article  Google Scholar 

  24. Geng J, Ying S, Jia X, Zhang T, Liu X, Guo L, Xuan J (2018) Supporting many-objective software requirements decision: an exploratory study of the next release problem. IEEE Access 6:60547–60558

    Article  Google Scholar 

  25. Harman M, McMinn P, Souza JT, Yoo S (2012) Search based software engineering: techniques, taxonomy, tutorial. In: Meyer B, Nordio M (eds) Lecture notes in computer science, vol 7007. Springer, Berlin, pp 1–59

    Google Scholar 

  26. Hoodat H, Rashidi H (2009) Classification and analysis of risks in software engineering. Int J Comput Inf Eng 3(8):2044–2050

    Google Scholar 

  27. Ishibuchi H, Imada R, Setoguchi Y, Nojima Y (2016) Performance comparison of NSGA-II and NSGA-III on various many-objective test problems. In: Proceedings of the IEEE congress on evolutionary computing, pp 3045–3052

  28. Islam S, Houmb SH (2010) Integrating risk management activities into requirements engineering. In: Proceedings of the 4th international conference on research challenges in information science, pp 299–310

  29. Karim MR, Ruhe G (2014) Bi-objective genetic search for release planning in support of themes. In: Le Goues C, Yoo S (eds) Lecture notes in computer science, vol 8636. Springer, Berlin, pp 123–137

    Google Scholar 

  30. Karlsson J, Ryan K (1997) A cost-value approach for prioritizing requirements. IEEE Softw 14(5):67–74

    Article  Google Scholar 

  31. Keil M, Cule P, Lyytinen K, Schmidt R (1998) A framework for identifying software project risks. Commun ACM 41(11):76–84

    Article  Google Scholar 

  32. Keshlaf AA, Hashim, K (2000) A model and prototype tool to manage software risks. In: Proceedings of the 1st Asia-Pacific conference on quality software, pp 297–305

  33. Khan M, Mahrin S (2014) Factor generating risks during requirements engineering process in global development environment. Int J Dig Inf Wirel Commun 4(1):63–78

    Google Scholar 

  34. Larman C, Basili VR (2003) Iterative and incremental developments: a brief history. Computer 36(6):47–56

    Article  Google Scholar 

  35. Lavangnananda K, Wangson P, Bouvry P (2018) Extreme solutions NSGA-III (E NSGA-III) for scientific workflow scheduling on cloud. In: Proceedings of the 17th international conference on machine learning and applications, pp 1139–1146

  36. Li L, Harman M, Letier E, Zhang Y (2014) Robust next release problem: handling uncertainty during optimization. In: Proceedings of the annual conference on genetic and evolutionary computation, pp 1247–1254

  37. Li L, Harman M, Wu F, Zhang Y (2017) The value of exact analysis in requirements selection. IEEE Trans Softw Eng 43(6):580–596

    Article  Google Scholar 

  38. Masticola SP (2007) A simple estimate of the cost of software project failures and the breakeven effectiveness of project risk management. In: Proceedings of the 1st international workshop on the economics of software and computation, p 6

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

    Article  MATH  Google Scholar 

  40. Neves S, Silva C, Salomon V, Silva A, Sotomonte B (2014) Risk management in software projects through knowledge management techniques: cases in Brazilian incubated technology-based firms. Int J Proj Manage 32(1):125–138

    Article  Google Scholar 

  41. Pitangueira, AM, Tonella P, Susi A, Maciel RS, Barros M (2016) Risk-aware multi-stakeholder next release planning using multi-objective optimization. In: Proceedings of the 22nd international working conference on requirements engineering: foundation for software quality, pp 3–18

  42. Rajagopal P, Lee R, Ahlswede T, Chiang CC, Karolak D (2005) A new approach for software requirements elicitation. In: Proceedings of the 6th international conference on software engineering, artificial intelligence, networking and parallel/distributed computing, pp 32–42

  43. Ruhe G, Greer D (2003) Quantitative studies in software release planning under risk and resource constraints. In: Proceedings of the international symposium on empirical software engineering, pp 262–270

  44. Sánchez P, Alonso D, Rosique F, Álvarez B, Pastor JA (2011) Introducing safety requirements traceability support in model-driven development of robotic applications. IEEE Trans Comput 60(8):1059–1071

    Article  MathSciNet  MATH  Google Scholar 

  45. Saraiva R, Araújo AA, Dantas A, Souza J (2016) A multi-objective approach based on interactive optimization for release planning. In: Proceedings of the VII Brazilian workshop on search based software engineering, pp 31–40

  46. Scacchi W (2002) Process models in software engineering. In: Marciniak JJ (ed) Encyclopedia of software engineering, 2nd edn. Wiley, New York, pp 993–1005

    Google Scholar 

  47. Seada H, Deb K (2014) U-NSGA-III: a unified evolutionary algorithm for single, multiple, and many-objective optimization. COIN report 2014022, Michigan State University

  48. Sommerville I (2015) Software engineering, 10th edn. Pearson, London

    MATH  Google Scholar 

  49. Tanabe R, Oyama A (2017) The impact of population size, number of children, and number of reference points on the performance of NSGA-III. In: Proceedings of the international conference on evolutionary multi-criterion optimization, pp 606–621

  50. Verner J, Sampson J, Cerpa N (2008) What factors lead to software project failure? In: Proceedings of the 2nd international conference on research challenges in information science, pp 71–80

  51. Wohlin C, Runeson P, Host M, Ohlsson M, Regnell B, Wesslén A (2000) Experimentation in software engineering. Kluwer, Norwell

    Book  MATH  Google Scholar 

  52. Yang L, Jones B, Yang S (2006) Genetic algorithm based software integration with minimum software risk. Inf Softw Technol 48(3):133–141

    Article  Google Scholar 

  53. Zhang H (2007) A redefinition of the project risk process: using vulnerability to open up the event-consequence link. Int J Proj Manag 25(7):694–701

    Article  Google Scholar 

  54. Zhang Y, Harman M, Mansouri SA (2007) The multi-objective next release problem. In: Proceedings of the annual conference on genetic and evolutionary computation, pp 1129–1136

  55. Zitzler E, Thiele L (1999) Multiobjective evolutionary algorithms: a comparative case study and the strength pareto approach. IEEE Trans Evol Comput 4(3):257–271

    Article  Google Scholar 

  56. Zitzler E, Laumanns M, Thiele L. (2001) SPEA2: improving the strength pareto evolutionary algorithm. Technical report TIK-Report 103, Computer Engineering and Networks Laboratory, Department of Electrical Engineering, Swiss Federal Institute of Technology, Zurich

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gledson Elias.

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

Amaral, A., Elias, G. A risk-driven multi-objective evolutionary approach for selecting software requirements. Evol. Intel. 12, 421–444 (2019). https://doi.org/10.1007/s12065-019-00237-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12065-019-00237-2

Keywords

Navigation