🤖 AI Summary
Existing approaches to requirement prioritization often overlook the semantic interdependencies among requirements, thereby compromising prioritization effectiveness. This work addresses this limitation by introducing requirement interconnectedness into user feedback–driven prioritization for the first time, proposing a dependency-aware search-based optimization framework. The method first applies natural language processing to cluster app store feedback into semantically coherent requirement groups and then automatically infers “requires”-type dependencies among these groups. These dependencies are explicitly integrated into a search algorithm to guide the optimization of requirement priorities. Evaluated on 94 real-world instances across four software systems, the proposed approach significantly outperforms ReFeed, demonstrating that explicitly modeling requirement interconnections effectively enhances both prioritization accuracy and release planning quality.
📝 Abstract
Context: Requirements prioritization is a challenging problem that is aimed to deliver the most suitable subset from a pool of candidate requirements. The problem is NP-hard when formulated as an optimization problem. Feedback from end users can offer valuable support for software evolution, and ReFeed represents a state-of-the-art in automatically inferring a requirement's priority via quantifiable properties of the feedback messages associated with a candidate requirement. Objectives: In this paper, we enhance ReFeed by shifting the focus of prioritization from treating requirements as independent entities toward interconnecting them. Additionally, we explore if interconnecting requirements provides additional value for search-based solutions. Methods: We leverage user feedback from mobile app store to group requirements into topically coherent clusters. Such interconnectedness, in turn, helps to auto-generate additional "requires" relations in candidate requirements. These "requires" pairs are then integrated into a search-based software engineering solution. Results: The experiments on 94 requirements prioritization instances from four real-world software applications show that our enhancement outperforms ReFeed. In addition, we illustrate how incorporating interconnectedness among requirements improves search-based solutions. Conclusion: Our findings show that requirements interconnectedness improves user feedback driven requirements prioritization, helps uncover additional "requires" relations in candidate requirements, and also strengthens search-based release planning.