Solving the Large Scale Next Release Problem with a Backbone Based Multilevel Algorithm

Reading time: 6 minute
...

📝 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.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut