Search-Based Uncertainty-Wise Requirements Prioritization

To ensure the quality of requirements, a common practice, especially in critical domains, is to review requirements within a limited time and monetary budgets. A requirement with higher importance, larger number of dependencies with other requirements, and higher implementation cost should be reviewed with the highest priority. However, requirements are inherently uncertain in terms of their impact on the requirements implementation cost. Such cost is typically estimated by stakeholders as an interval, though an exact value is often used in the literature for requirements optimization (e.g., prioritization). Such a practice, therefore, ignores uncertainty inherent in the estimation of requirements implementation cost. This paper explicitly takes into account such uncertainty for requirement prioritization and formulates four objectives for uncertainty-wise requirements prioritization with the aim of maximizing 1) the importance of requirements, 2) requirements dependencies, 3) the implementation cost of requirements, and 4) cost over-run probability. We evaluated the multi-objective search algorithm NSGA-II together with Random Search (RS) using the RALIC dataset and 19 artificial problems. Results show that NSGA-II can solve the requirements prioritization problem with a significantly better performance than RS. Moreover, NSGA-II can prioritize requirements with higher priority earlier in the prioritization sequence. For example, in the case of the RALIC dataset, the first 10% of prioritized requirements in the prioritization sequence are on average 50% better than RS in terms of prioritization effectiveness.

[1]  Antonio J. Nebro,et al.  jMetal: A Java framework for multi-objective optimization , 2011, Adv. Eng. Softw..

[2]  Lionel C. Briand,et al.  Facilitating the transition from use case models to analysis models: Approach and experiments , 2013, TSEM.

[3]  Mark Harman,et al.  The relationship between search based software engineering and predictive modeling , 2010, PROMISE '10.

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

[5]  Yuanyuan Zhang,et al.  Empirical evaluation of search based requirements interaction management , 2013, Inf. Softw. Technol..

[6]  Nelly Bencomo,et al.  Requirements-Aware Systems: A Research Agenda for RE for Self-adaptive Systems , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[7]  Yan Li,et al.  A Practical Guide to Select Quality Indicators for Assessing Pareto-Based Search Algorithms in Search-Based Software Engineering , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[8]  Mark W. Lipsey,et al.  Practical Meta-Analysis , 2000 .

[9]  Jörg Dörr,et al.  A Systematic Literature Review of Requirements Prioritization Criteria , 2015, REFSQ.

[10]  Michalis Famelis,et al.  MAV-Vis: A notation for model uncertainty , 2013, 2013 5th International Workshop on Modeling in Software Engineering (MiSE).

[11]  Claes Wohlin,et al.  Engineering and Managing Software Requirements , 2005 .

[12]  Nelly Bencomo,et al.  RELAX: a language to address uncertainty in self-adaptive systems requirement , 2010, Requirements Engineering.

[13]  Earl T. Barr,et al.  Uncertainty, risk, and information value in software requirements and architecture , 2014, ICSE.

[14]  David J. Sheskin,et al.  Handbook of Parametric and Nonparametric Statistical Procedures , 1997 .

[15]  Liming Zhu,et al.  An initial evaluation of requirements dependency types in change propagation analysis , 2012, EASE.

[16]  A. Herrmann,et al.  Requirements Prioritization Based on Benefit and Cost Prediction: An Agenda for Future Research , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[17]  Mark Harman,et al.  Why the Virtual Nature of Software Makes It Ideal for Search Based Optimization , 2010, FASE.

[18]  Debra J. Richardson,et al.  The Uncertainty Principle in Software Engineering Submitted to ICSE'97, 19th International Conference on Software Engineering , 1998 .

[19]  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..

[20]  Bran Selic,et al.  Understanding Uncertainty in Cyber-Physical Systems: A Conceptual Model , 2016, ECMFA.

[21]  Mark Harman,et al.  Search Based Approaches to Component Selection and Prioritization for the Next Release Problem , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[22]  Dietmar Pfahl,et al.  Studying the impact of uncertainty in operational release planning - An integrated method and its initial evaluation , 2010, Inf. Softw. Technol..

[24]  Joachim Karlsson,et al.  Software requirements prioritizing , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[25]  Persis Voola,et al.  36 Requirements Uncertainty Prioritization Approach : A Novel Approach for Requirements Prioritization , 2012 .

[26]  Andrea Arcuri,et al.  It really does matter how you normalize the branch distance in search‐based software testing , 2013, Softw. Test. Verification Reliab..

[27]  David Johnson,et al.  The triangular distribution as a proxy for the beta distribution in risk analysis , 1997 .

[28]  Sam Malek,et al.  Uncertainty in Self-Adaptive Software Systems , 2010, Software Engineering for Self-Adaptive Systems.

[29]  Yan Li,et al.  A multi-objective and cost-aware optimization of requirements assignment for review , 2017, 2017 IEEE Congress on Evolutionary Computation (CEC).

[30]  Lionel C. Briand,et al.  aToucan: An Automated Framework to Derive UML Analysis Models from Use Case Models , 2015, TSEM.

[31]  Yuanyuan Zhang,et al.  Robust next release problem: handling uncertainty during optimization , 2014, GECCO.

[32]  Anthony Finkelstein,et al.  Ieee Transactions on Software Engineering, Manuscript Id Stakerare: Using Social Networks and Collaborative Filtering for Large-scale Requirements Elicitation , 2022 .

[33]  Yuanyuan Zhang,et al.  A search based approach to fairness analysis in requirement assignments to aid negotiation, mediation and decision making , 2009, Requirements Engineering.

[34]  A. Andrews,et al.  4 Requirements Prioritization , .

[35]  Lionel C. Briand,et al.  A practical guide for using statistical tests to assess randomized algorithms in software engineering , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[36]  Rick Salay,et al.  Managing requirements uncertainty with partial models , 2012, RE.

[37]  Fan Wu,et al.  The Value of Exact Analysis in Requirements Selection , 2017, IEEE Transactions on Software Engineering.

[38]  Nelly Bencomo,et al.  A Goal-Based Modeling Approach to Develop Requirements of an Adaptive System with Environmental Uncertainty , 2009, MoDELS.