Solving the Large Scale Next Release Problem with a Backbone Based Multilevel Algorithm
📝 Abstract
The Next Release Problem (NRP) aims to optimize customer profits and requirements selection for the software releases. The research on the NRP is restricted by the growing scale of requirements. In this paper, we propose a Backbone based Multilevel Algorithm (BMA) to address the large scale NRP. In contrast to direct solving approaches, BMA employs multilevel reductions to downgrade the problem scale and multilevel refinements to construct the final optimal set of customers. In both reductions and refinements, the backbone is built to fix the common part of the optimal customers. Since it is intractable to extract the backbone in practice, the approximate backbone is employed for the instance reduction while the soft backbone is proposed to augment the backbone application. In the experiments, to cope with the lack of open large requirements databases, we propose a method to extract instances from open bug repositories. Experimental results on 15 classic instances and 24 realistic instances demonstrate that BMA can achieve better solutions on the large scale NRP instances than direct solving approaches. Our work provides a reduction approach for solving large scale problems in search based requirements engineering.
💡 Analysis
The Next Release Problem (NRP) aims to optimize customer profits and requirements selection for the software releases. The research on the NRP is restricted by the growing scale of requirements. In this paper, we propose a Backbone based Multilevel Algorithm (BMA) to address the large scale NRP. In contrast to direct solving approaches, BMA employs multilevel reductions to downgrade the problem scale and multilevel refinements to construct the final optimal set of customers. In both reductions and refinements, the backbone is built to fix the common part of the optimal customers. Since it is intractable to extract the backbone in practice, the approximate backbone is employed for the instance reduction while the soft backbone is proposed to augment the backbone application. In the experiments, to cope with the lack of open large requirements databases, we propose a method to extract instances from open bug repositories. Experimental results on 15 classic instances and 24 realistic instances demonstrate that BMA can achieve better solutions on the large scale NRP instances than direct solving approaches. Our work provides a reduction approach for solving large scale problems in search based requirements engineering.
📄 Content
IEEE TRANSACTIONS ON JOURNAL NAME, MANUSCRIPT ID 1
Solving the Large Scale Next Release Problem
with a Backbone Based Multilevel Algorithm
Jifeng Xuan, He Jiang, Member, IEEE, Zhilei Ren, and Zhongxuan Luo
Abstract—The Next Release Problem (NRP) aims to optimize customer profits and requirements selection for the software
releases. The research on the NRP is restricted by the growing scale of requirements. In this paper, we propose a Backbone
based Multilevel Algorithm (BMA) to address the large scale NRP. In contrast to direct solving approaches, BMA employs
multilevel reductions to downgrade the problem scale and multilevel refinements to construct the final optimal set of customers.
In both reductions and refinements, the backbone is built to fix the common part of the optimal customers. Since it is intractable
to extract the backbone in practice, the approximate backbone is employed for the instance reduction while the soft backbone is
proposed to augment the backbone application. In the experiments, to cope with the lack of open large requirements databases,
we propose a method to extract instances from open bug repositories. Experimental results on 15 classic instances and 24
realistic instances demonstrate that BMA can achieve better solutions on the large scale NRP instances than direct solving
approaches. Our work provides a reduction approach for solving large scale problems in search based requirements
engineering.
Index Terms—the next release problem, backbone, soft backbone, multilevel algorithm, requirements instance generation,
search based requirements engineering.
—————————— ——————————
1 INTRODUCTION
or a large software project, determining the require-
ments assignment in the next release is an important
problem in the requirements phase [12]. The customers of
the software wish to purchase the products suitable for
their needs while the software company wishes to select
optimal requirements to maximize commercial profits
[48]. Due to the complexity of customer requests and
product requirements, decisions for software releases
frequently conflict with efforts to maximize the profits of
the project [10]. To maximize the profits of a software
project, an ideal approach is to implement all the re-
quirements to satisfy each potential customer. Limited by
the software costs (e.g., the budget or the development
time), only a subset of these requirements can be selected
in the next release [48]. From the perspective of the soft-
ware company, the goal of the next release is to select the
optimal requirements to maximize the customer profits.
However, two factors restrict the development of re-
quirements selection: the problem scale and the require-
ments dependency.
On one hand, when facing large scale requirements
management, it is time-consuming to optimize customer
profits [49]. The growth in scale has been listed as one of
the nine research hotspots in the future of requirements
engineering [10]. Some studies have focused on the large
scale requirements analysis. For example, 1000 require-
ments are provided for the experiments on elicitation and
triage in the SugarCRM project [9], [14]; 2400 market re-
quirements and 1100 business requirements are handled
for the next release in the Baan software framework [48].
Although some optimization technologies are introduced
to balance the customer profits and requirements costs,
such as the cost-value approaches [32], the linguistic-
engineering approaches [48], [49], and the search based
approaches [5], [57], it is still a challenge to select an op-
timal decision for large scale requirements problems [67].
On the other hand, the requirements dependencies in-
crease the complexity of requirements optimization. In
the modern incremental software development process,
new-coming requirements may build joint functions with
previous and associate requirements [50]. An industry
survey shows that about 80% requirements are con-
strained by dependencies, which significantly complicate
the decision for the software releases [8].
In this paper, we address large scale requirements se-
lection with the Next Release Problem (NRP), which is
proposed to model the decision for customer profits and
requirements costs [4]. The NRP seeks to maximize cus-
tomer profits from a set of dependent requirements, un-
der the constraint of a predefined budget bound. Assisted
by the NRP, a requirements engineer can make a decision
for software requirements to balance the profits of the
company and the customers. As a combinatorial optimi-
zation problem, the NRP has been proved as “ -
even when it is basic and customer requirements are in-
dependent” [4], i.e., unless , there exists no exact
algorithm to select the optimal set of customers to maxim-
ize the profits in polynomial time [18]. In practice, espe-
cially for a large scale problem, it is hard to exactly opti-
mize the decision of the
This content is AI-processed based on ArXiv data.