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.













Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Alam I (2014) Role of software metrices in identifying the risk of project. Int J Adv Eng Technol 1(1):16–22
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
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
Bagnall AJ, Rayward-Smith VJ, Whittley IM (2001) The next release problem. Inf Softw Technol 43(14):883–890
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
Bannerman P (2008) Risk and risk management in software projects: a reassessment. J Syst Softw 81(12):2118–2133
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
Boehm BW (1989) Software risk management. IEEE Computer Society Press
Boehm B (1991) Software risk management: principles and practices. IEEE Softw 8(1):32–41
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
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
Coello CAC, Lamont GB, Van Veldhuisen DA (2007) Evolutionary algorithms for solving multi-objective problems. Springer, Berlin
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
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
Deb K, Kalyanmoy D (2001) Multi-objective optimization using evolutionary algorithms. Wiley, New York
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
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
DeMarco T, Lister T (2003) Risk management during requirements. IEEE Softw 20(5):99–101
Deplano I, Squillero G, Tonda A (2016) Anatomy of a portfolio optimizer under a limited budget constraint. Evol Intell 9(4):125–136
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
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
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
Feather MS, Cornford SL (2003) Quantitative risk-based requirements reasoning. Requir Eng 8(4):248–265
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
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
Hoodat H, Rashidi H (2009) Classification and analysis of risks in software engineering. Int J Comput Inf Eng 3(8):2044–2050
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
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
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
Karlsson J, Ryan K (1997) A cost-value approach for prioritizing requirements. IEEE Softw 14(5):67–74
Keil M, Cule P, Lyytinen K, Schmidt R (1998) A framework for identifying software project risks. Commun ACM 41(11):76–84
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
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
Larman C, Basili VR (2003) Iterative and incremental developments: a brief history. Computer 36(6):47–56
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
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
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
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
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
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
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
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
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
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
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
Scacchi W (2002) Process models in software engineering. In: Marciniak JJ (ed) Encyclopedia of software engineering, 2nd edn. Wiley, New York, pp 993–1005
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
Sommerville I (2015) Software engineering, 10th edn. Pearson, London
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
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
Wohlin C, Runeson P, Host M, Ohlsson M, Regnell B, Wesslén A (2000) Experimentation in software engineering. Kluwer, Norwell
Yang L, Jones B, Yang S (2006) Genetic algorithm based software integration with minimum software risk. Inf Softw Technol 48(3):133–141
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
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
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
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
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
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12065-019-00237-2