URP: Uncertainty-wise Requirements Prioritization with Multi-objective Search


Overview

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. We, therefore, explicitly take into account such uncertainty for requirement prioritization and formulate 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.


Six Pareto-based search algorithms (NSGA-II, NSGA-III, MOCell, SPEA2, IBEA, and PAES) together with Random Search (RS) are used in the proposed URP approach, which are implemented by using the open-source framework jMetal: Metaheuristic Algorithms in Java.


Input Data for the URP

The input data of the search algorithms can be downloaded from the following table.

# Case Study Number of Requirements Download
1 RALIC Dataset 143 download
2 Synthetic Problems 1 - 6 100 - 350 download
3 Synthetic Problems 7 - 12 400 - 650 download
4 Synthetic Problems 13 - 16 700 - 850 download
5 Synthetic Problems 17 - 18 900 - 950 download
6 Synthetic Problem 19 1000 download

Output Data of the URP

To conduct statistical tests, we collect the returned data for each search algorithm. More specifically, the optimization objective value of the nondominated solutions and the corresponding permutation sequences are returned. Note that the objective values of 100 runs are collected in "*_FUN.tsv" file and the corresponding permutation sequences are collected in "*_VAR.tsv" file.

# Case Study Download
1 RALIC download
2 Synthetic Problem (100) download
3 Synthetic Problem (150) download
4 Synthetic Problem (200) download
5 Synthetic Problem (250) download
6 Synthetic Problem (300) download
7 Synthetic Problem (350) download
8 Synthetic Problem (400) download
9 Synthetic Problem (450) download
10 Synthetic Problem (500) download
11 Synthetic Problem (550) download
12 Synthetic Problem (600) download
13 Synthetic Problem (650) download
14 Synthetic Problem (700) download
15 Synthetic Problem (750) download
16 Synthetic Problem (800) download
17 Synthetic Problem (850) download
18 Synthetic Problem (900) download
19 Synthetic Problem (950) download
20 Synthetic Problem (1000) download
-->