Automated smell detection and recommendation in natural language requirements
Requirement specifications are typically written in natural language (NL) due to its usability across multiple domains and understandability by all stakeholders. However, unstructured NL is prone to quality problems (e.g., ambiguity) when writing requirements, which can result in project failures. To address this issue, we present a tool, named Paska, that takes as input any NL requirements, automatically detects quality problems as smells in the requirements, and offers recommendations to improve their quality. Our approach relies on natural language processing (NLP) techniques and a state-of-the-art controlled natural language (CNL) for requirements (Rimay), to detect smells and suggest recommendations using patterns defined in Rimay to improve requirement quality. We evaluated Paska through an industrial case study in the financial domain involving 13 systems and 2725 annotated requirements. The results show that our tool is accurate in detecting smells (89% precision and recall) and suggesting appropriate Rimay pattern recommendations (96% precision and 94% recall).
Funding
History
Publication
IEEE Transactions on Software Engineering,2024, 50,(4), pp. 695-720Publisher
Institute of Electrical and Electronics EngineersOther Funding information
This work was supported in part by the FNR of Luxembourg under the BRIDGES Program under Grant BRIDGES18/IS/13234469/IMoReF, in part by the Science Foundation Ireland under Grant 13/RC/2094-2, and in part by the NSERC of Canada under the Discovery and CRC ProgramsAlso affiliated with
- LERO - The Science Foundation Ireland Research Centre for Software