Abstract
ContextThe Next Release Problem involves determining the set of requirements to implement in the next release of a software project. When the problem was first formulated in 2001, Integer Linear Programming, an exact method, was found to be impractical because of large execution times. Since then, the problem has mainly been addressed by employing metaheuristic techniques. ObjectiveIn this paper, we investigate if the single-objective and bi-objective Next Release Problem can be solved exactly and how to better approximate the results when exact resolution is costly. MethodsWe revisit Integer Linear Programming for the single-objective version of the problem. In addition, we integrate it within the Epsilon-constraint method to address the bi-objective problem. We also investigate how the Pareto front of the bi-objective problem can be approximated through an anytime deterministic Integer Linear Programming-based algorithm when results are required within strict runtime constraints. Comparisons are carried out against NSGA-II. Experiments are performed on a combination of synthetic and real-world datasets. FindingsWe show that a modern Integer Linear Programming solver is now a viable method for this problem. Large single objective instances and small bi-objective instances can be solved exactly very quickly. On large bi-objective instances, execution times can be significant when calculating the complete Pareto front. However, good approximations can be found effectively. ConclusionThis study suggests that (1) approximation algorithms can be discarded in favor of the exact method for the single-objective instances and small bi-objective instances, (2) the Integer Linear Programming-based approximate algorithm outperforms the NSGA-II genetic approach on large bi-objective instances, and (3) the run times for both methods are low enough to be used in real-world situations.
Highlights
A key aspect in any large project is determining an appropriate set of requirements as expressed by stakeholders
The Release Problem (NRP), originally proposed by Bagnall et al [1], formalizes this issue and involves finding a subset of requirements or a subset of stakeholders that maximizes a desirable property, such as revenue, while being constrained by an upper bound on some other property, usually cost
We show that iterated applications of Integer Linear Programming (ILP) through the e-constraint method can be used to generate the Pareto front of the bi-objective Next Release Problem (NRP), with the most complex instance clocking in at over 8 h. 3
Summary
A key aspect in any large project is determining an appropriate set of requirements as expressed by stakeholders. The Release Problem (NRP), originally proposed by Bagnall et al [1], formalizes this issue and involves finding a subset of requirements or a subset of stakeholders that maximizes a desirable property, such as revenue, while being constrained by an upper bound on some other property, usually cost. It is important to note that the NRP is only concerned with the release. Planning over several releases is formalized in the closely related, and more complex, Release Planning Problem [2]. In the bi-objective NRP [3], the upper bound is lifted and the constraint transformed into a second objective which is usually in conflict with the first. The decision-maker is presented with a set of potential solutions, the Pareto-optimal set, that represents the different possible trade-offs between the two objectives
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have