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).
翻译:需求规格通常以自然语言(NL)撰写,因其跨领域适用性及所有利益相关者的可理解性而被广泛使用。然而,在撰写需求时,非结构化的自然语言易出现质量问题(例如歧义性),可能导致项目失败。为解决该问题,我们提出名为Paska的工具,该工具以任意自然语言需求为输入,自动检测需求中的质量问题(即"气味"),并提供改进质量的建议。我们的方法基于自然语言处理(NLP)技术及一种用于需求的最先进受控自然语言(CNL)(Rimay),通过Rimay中定义的模式检测气味并生成改进建议。我们通过一项涉及13个系统及2725条标注需求的金融领域工业案例研究对Paska进行评估。结果表明,该工具在检测气味(精确率与召回率均为89%)及推荐合适的Rimay模式建议(精确率96%、召回率94%)方面具有高准确性。