RECOVER: Toward the Automatic Requirements Generation from Stakeholders' Conversations

Gianmario Voria,Francesco Casillo,Carmine Gravino,Gemma Catolino,Fabio Palomba
2024-11-29
Abstract:Stakeholders' conversations in requirements elicitation meetings contain valuable information, but manually extracting system requirements from these discussions is a time-consuming and labor-intensive task, and there is a risk of errors and the introduction of biases. While current methods assist in summarizing conversations and classifying requirements based on their nature, there is a noticeable lack of approaches capable of both identifying requirements within these conversations and generating corresponding system requirements. These approaches would significantly reduce the burden on requirements engineers, reducing the time and effort required. They would also support the production of accurate and consistent requirements documentation. To address this gap, this paper introduces RECOVER (Requirements EliCitation frOm conVERsations), a novel requirements engineering approach that leverages NLP and foundation models to automatically extract system requirements from stakeholder interactions. The approach is evaluated using a mixed-method research design that combines statistical performance analysis with a user study involving requirements engineers. First, at the conversation turn level, the evaluation measures RECOVER's accuracy in identifying requirements-relevant dialogue and the quality of generated requirements in terms of correctness, completeness, and actionability. Second, at the entire conversation level, the evaluation assesses the overall usefulness and effectiveness of RECOVER in synthesizing comprehensive system requirements from full stakeholder discussions. The evaluation shows promising results regarding the performance of RECOVER, as the generated requirements exhibit satisfactory quality in their correctness, completeness, and actionability. Moreover, the results show the potential usefulness of automating the process of eliciting requirements from conversation.
Software Engineering
What problem does this paper attempt to address?