Search-based Uncertainty-wise Requirements Prioritization

Yan Li1, Tao Yue2,3, Shaukat Ali2, Li Zhang1

1Beihang University, Beijing, China; 2Simula Research Laboratory, Oslo, Norway; 3Department of Informatics, University of Oslo, Oslo, Norway;
Contact: yanll@buaa.edu.cn, {tao, shaukat}@simula.no, lily@buaa.edu.cn

Abstract

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 taken 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 overrun 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.

For implementation:

As mentioned in the paper, all the selected search algorithms and quality indicators are implemented based on jMetal [1].

For the experiment data: Two types of data are made available: 1) We provide the real world case (RALIC Dataset)experiment data, including requirements property and related stakeholders' property, and the data for objective function values,corresponding solutions and time taken by running each algorithm. 2) We provide the artificial problems experiment data, including requirements property and related stakeholders' property, and the data for objective function values,corresponding solutions and time taken by running each algorithm.

Data related with the experiment

Download The data related with the real world case (Ralic)

Download The data related with artificial problems(19 problems)