[论文解读] NALABS: Detecting Bad Smells in Natural Language Requirements and Test Specifications
NALABS 是一种通过基于词典的度量方法检测自然语言需求和测试规范中不良代码气味的工具,可识别模糊性、可选性、主观性和表达薄弱等质量问题。它通过基于规则的文本分析自动化检测12种不良代码气味指标,从而在工业需求文档中早期识别可维护性和可理解性问题。
In large-scale embedded system development, requirement and test specifications are often expressed in natural language. In the context of developing such products, requirement review is performed in many cases manually using these specifications as a basis for quality assurance. Low-quality specifications can have expensive consequences during the requirement engineering process. Especially, if feedback loops during requirement engineering are long, leading to artifacts that are not easily maintainable, are hard to understand, and are inefficient to port to other system variants. We use the idea of smells to specifications expressed in natural language, defining a set of specifications for bad smells. We developed a tool called NALABS (NAtural LAnguage Bad Smells), available on https://github.com/eduardenoiu/NALABS and used for automatically checking specifications. We discuss some of the decisions made for its implementation, and future work.
研究动机与目标
- 解决自然语言需求和测试规范中质量缺陷缺乏自动化检测工具的问题。
- 通过引入复杂度、可读性和结构度量,扩展现有不良代码气味检测,超越可维护性范畴。
- 提供一种实用的开源工具,支持工业应用,实现对规范缺陷的早期检测。
- 通过工具部署验证不良代码气味检测在真实工业需求文档中的适用性。
- 通过识别有问题的语言模式,支持需求工程师提升规范质量。
提出的方法
- NALABS 采用基于规则的方法,使用预定义的关键词列表,在自然语言文档中检测12种不同的不良代码气味。
- 它处理以 Excel 格式存储的需求和测试规范文档,通过语言模式匹配识别有问题的短语。
- 该工具实现了模糊性、可选性、主观性、薄弱性、可引用性(NR1 和 NR2)、可读性(ARI 指数)以及复杂度(词数和连词频率)的度量。
- 每种不良代码气味均通过关键词词典进行评分,结果通过 WPF 桌面 GUI 可视化呈现。
- 该工具使用 C# 和 .NET 开发,采用模块化架构,包含预处理、度量配置和结果展示等组件。
- 它以 MIT 许可证发布,并托管在 GitHub 上,便于开源访问和工业采用。
实验结果
研究问题
- RQ1如何通过自动化、基于规则的方法系统性地检测自然语言需求和测试规范中的不良代码气味?
- RQ2哪些语言指标在识别工业嵌入式系统中低质量规范方面最为有效?
- RQ3基于词典的度量在多大程度上能提升需求文档的可维护性和可理解性?
- RQ4NALABS 在识别现实世界工业需求文档中的质量缺陷方面效果如何?
- RQ5在不同工业写作风格和文档格式中应用不良代码气味检测面临哪些主要挑战?
主要发现
- NALABS 在瑞典一家大型制造公司的实际工业需求文档中成功检测到多种规范质量问题。
- 该工具使用预定义的关键词列表识别出12种不同的不良代码气味类别,包括模糊性、可选性、主观性和可引用性。
- 使用了自动化可读性指数(ARI),用于评估文本复杂度,分数越高表示可读性越低,认知负荷越高。
- 引入 NR1(对文档的引用)和 NR2(对图表的引用)度量,提升了对规范中依赖相关问题的检测能力。
- 该工具在工业环境中展现出实际应用价值,已在真实项目中完成早期验证,并在持续开发中积极使用。
- NALABS 为开源软件,可免费在 GitHub 上获取,支持社区贡献和工业系统集成。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。