SEAIJun 21, 2023

Improving Software Requirements Prioritization through the Lens of Constraint Solving

arXiv:2306.12391v15 citationsh-index: 15
Originality Incremental advance
AI Analysis

This addresses the challenge of prioritizing requirements in software development, particularly in domains like healthcare, but it is incremental as it builds on existing interactive methods.

The paper tackles the problem of software requirements prioritization by introducing an interactive method that combines pairwise comparisons with a constraint solver, resulting in improved effectiveness and robustness to analyst errors compared to state-of-the-art methods.

Requirements prioritization is a critical activity during the early software development process, which produces a set of key requirements to implement. The prioritization process offers a parity among the requirements based on multiple characteristics, including end-users' preferences, cost to implement, and technical dependencies. This paper presents an interactive method to requirements prioritization that leverages the pairwise comparisons and a constraint solver. Our method employs an interactive accumulation of knowledge from the requirements analyst when the relative priority among the requirements cannot be determined based on the existing knowledge from the requirements documents. The final ranking of the requirements is produced via the constraint solver and interactive pairwise comparisons. We evaluate the proposed method using the requirements from a real healthcare project. The proposed prioritization method relying on a constraint solver outperforms state-of-the-art interactive prioritization methods in terms of effectiveness and robustness to analyst's errors.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes