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

  • Aruan Amaral
  • Gledson EliasEmail author
Research Paper


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.


Software requirements Risk management Next release problem Multi-objective evolutionary algorithms Search based software engineering 



  1. 1.
    Alam I (2014) Role of software metrices in identifying the risk of project. Int J Adv Eng Technol 1(1):16–22Google Scholar
  2. 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–737Google Scholar
  3. 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–16Google Scholar
  4. 4.
    Bagnall AJ, Rayward-Smith VJ, Whittley IM (2001) The next release problem. Inf Softw Technol 43(14):883–890CrossRefGoogle Scholar
  5. 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–185Google Scholar
  6. 6.
    Bannerman P (2008) Risk and risk management in software projects: a reassessment. J Syst Softw 81(12):2118–2133CrossRefGoogle Scholar
  7. 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, BrazilGoogle Scholar
  8. 8.
    Boehm BW (1989) Software risk management. IEEE Computer Society PressGoogle Scholar
  9. 9.
    Boehm B (1991) Software risk management: principles and practices. IEEE Softw 8(1):32–41CrossRefGoogle Scholar
  10. 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–314Google Scholar
  11. 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–371Google Scholar
  12. 12.
    Coello CAC, Lamont GB, Van Veldhuisen DA (2007) Evolutionary algorithms for solving multi-objective problems. Springer, BerlinzbMATHGoogle Scholar
  13. 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–215Google Scholar
  14. 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–346Google Scholar
  15. 15.
    Deb K, Kalyanmoy D (2001) Multi-objective optimization using evolutionary algorithms. Wiley, New YorkzbMATHGoogle Scholar
  16. 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–601CrossRefGoogle Scholar
  17. 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–197CrossRefGoogle Scholar
  18. 18.
    DeMarco T, Lister T (2003) Risk management during requirements. IEEE Softw 20(5):99–101CrossRefGoogle Scholar
  19. 19.
    Deplano I, Squillero G, Tonda A (2016) Anatomy of a portfolio optimizer under a limited budget constraint. Evol Intell 9(4):125–136CrossRefGoogle Scholar
  20. 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álagaGoogle Scholar
  21. 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–60CrossRefGoogle Scholar
  22. 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–39MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Feather MS, Cornford SL (2003) Quantitative risk-based requirements reasoning. Requir Eng 8(4):248–265CrossRefGoogle Scholar
  24. 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–60558CrossRefGoogle Scholar
  25. 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–59Google Scholar
  26. 26.
    Hoodat H, Rashidi H (2009) Classification and analysis of risks in software engineering. Int J Comput Inf Eng 3(8):2044–2050Google Scholar
  27. 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–3052Google Scholar
  28. 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–310Google Scholar
  29. 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–137Google Scholar
  30. 30.
    Karlsson J, Ryan K (1997) A cost-value approach for prioritizing requirements. IEEE Softw 14(5):67–74CrossRefGoogle Scholar
  31. 31.
    Keil M, Cule P, Lyytinen K, Schmidt R (1998) A framework for identifying software project risks. Commun ACM 41(11):76–84CrossRefGoogle Scholar
  32. 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–305Google Scholar
  33. 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–78Google Scholar
  34. 34.
    Larman C, Basili VR (2003) Iterative and incremental developments: a brief history. Computer 36(6):47–56CrossRefGoogle Scholar
  35. 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–1146Google Scholar
  36. 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–1254Google Scholar
  37. 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–596CrossRefGoogle Scholar
  38. 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 6Google Scholar
  39. 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–746CrossRefzbMATHGoogle Scholar
  40. 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–138CrossRefGoogle Scholar
  41. 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–18Google Scholar
  42. 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–42Google Scholar
  43. 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–270Google Scholar
  44. 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–1071MathSciNetCrossRefzbMATHGoogle Scholar
  45. 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–40Google Scholar
  46. 46.
    Scacchi W (2002) Process models in software engineering. In: Marciniak JJ (ed) Encyclopedia of software engineering, 2nd edn. Wiley, New York, pp 993–1005Google Scholar
  47. 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 UniversityGoogle Scholar
  48. 48.
    Sommerville I (2015) Software engineering, 10th edn. Pearson, LondonzbMATHGoogle Scholar
  49. 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–621Google Scholar
  50. 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–80Google Scholar
  51. 51.
    Wohlin C, Runeson P, Host M, Ohlsson M, Regnell B, Wesslén A (2000) Experimentation in software engineering. Kluwer, NorwellCrossRefzbMATHGoogle Scholar
  52. 52.
    Yang L, Jones B, Yang S (2006) Genetic algorithm based software integration with minimum software risk. Inf Softw Technol 48(3):133–141CrossRefGoogle Scholar
  53. 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–701CrossRefGoogle Scholar
  54. 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–1136Google Scholar
  55. 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–271CrossRefGoogle Scholar
  56. 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, ZurichGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Informatics CenterFederal University of ParaíbaJoão PessoaBrazil

Personalised recommendations