标准是否是产品验证的无歧义参考?
1. 标准现状与相关研究
安全相关标准的情况自Fenton分析和建议后并无明显改善,安全相关标准及合规工作仍被视为“无计划实验”,对于标准如何及为何起作用缺乏证据。2015年,Graydon和Holloway发布NASA备忘录,阐述研讨会输入并提出研究问题、调查和实验。2010年,相关机构在需求研究中开展了标准条款歧义评估工作。
2. 基于自然语言处理的需求评估研究
这一研究方向主要关注影响需求文档质量的语言方面,旨在解决需求缺陷问题,特别是语言歧义。
-
预防歧义的策略
-
形式化方法
:如Kof的工作、Circe - Cico、LOLITA、NL2ACTL等工具,将需求转化为形式/半形式模型和语言以预防歧义。
-
受限自然语言
:EARS模板和Rupp’s模板是知名的编辑需求的受限格式,Arora等人定义了检查需求是否符合这些模板的方法。在铁路领域,也有将需求手动转换为形式模型的工作,如Ferrari等人将铁路自动列车保护系统需求转换为状态图模型,Ghazel和Cimatti等人用NuSMV语言形式化ERTMS/ETCS标准子集以进行形式验证。
-
检测歧义的方法
-
基于规则的方法
:主要基于语言模式匹配,如QuARS、SREE和Gleich等人的工具。但这些方法易产生大量误报,即实际无歧义的语言歧义情况。
-
统计方法
:Chantree等人和Yang等人提出统计方法以减少误报。Rosadini等人的工作专注于铁路需求,将受QuARS启发的NLP技术引入铁路信号公司验证约1800条需求,表明该技术已适合工业应用。
3. 自然语言表达需求的质量模型
质量模型可描述为一组负面质量或缺陷,代表缺乏特定期望质量。以下是部分缺陷及相关揭示词:
| 缺陷类型 | 描述 | 揭示词示例 |
| ---- | ---- | ---- |
| 模糊性 | 句子包含无唯一可量化含义的项目 | 充分的、坏的、清晰的、接近的等 |
| 主观性 | 句子表达个人观点 | 相似的、考虑到 |
| 可选性 | 句子包含可选部分 | 可能、最终、如果可能等 |
| 欠规范 | 句子包含需更详细说明以明确含义的通用术语 | 功能、文档、过程等 |
4. QuARS工具
QuARS是用于自动检测自然语言需求文档中潜在语言缺陷的工具,通过句法和词法分析,查找质量模型特征和子特征的指标。指标可以是词法特征字典中的元素,也可以是句法特征的其他元素和结构。字典可由用户根据分析对象所属的特定知识领域定义。
-
缺陷识别过程
-
词法分析
:捕捉可选性、主观性、模糊性和弱点缺陷,通过识别字典中的候选缺陷词。
-
句法分析
:捕捉隐含性、多重性和欠规范缺陷。
-
误报问题
:检测到的缺陷可能是误报,原因包括正确使用候选缺陷词、特定系统或领域中不视为缺陷的用词、为给实现者更多自由而故意插入的歧义。工具提供误报屏蔽功能。使用QuARS分析项目需求可帮助实现所需质量,能提高缺陷检测率并节省时间,且NLP工具在工作团队中使用所需资源有限。
5. 对标准进行语言分析的动机
- CENELEC建议 :发布标准的组织会发布编写指南,如铁路领域的CENELEC Guide 17,但我们需要更精确、可验证且基于指标的分析方法。
-
标准缺陷的影响
:标准在清晰度和其他语言质量方面的缺陷可能产生重大影响,以下是一些实际案例:
- 案例1 :ISO 26162功能安全标准基线19中,“需求验证”在不同部分有不同含义,可能导致开发延迟、合规评估问题或需求分析缺失。
- 案例2 :美国城市列车制动系统开发中,“参数”一词对不同角色有不同含义,属于欠规范缺陷,导致利益相关者误解和项目延迟。
- 案例3 :欧洲汽车供应商培训中,软件需求文档中一个需求的含义引发开发者和测试工程师讨论,影响实际项目。
6. 产品需求与标准条款的差异
为使方法和工具更适用于标准分析,需研究标准条款与软件/系统需求的根本差异:
-
修改权限
:开发者可与客户协商需求以使其更清晰,但无法修改可能有缺陷的标准。确定条款含义需比较类似条款、分析上下文和参考相关文档,这一过程耗时且常被忽略,增加了不符合标准实现的风险。
-
受众范围
:标准的受众是整个开发者和评估者群体,而产品需求通常针对单个开发环境。
-
文档形成过程
:标准文档经过专家多年讨论,常伴有书籍、指南和会议;产品需求文档由较少利益相关者产生,有时是产品开发前的唯一信息来源。
graph LR
A[标准分析] --> B[产品需求与标准条款差异分析]
A --> C[标准文本质量影响分析]
B --> B1[修改权限差异]
B --> B2[受众范围差异]
B --> B3[文档形成过程差异]
C --> C1[语言缺陷检测]
C --> C2[缺陷影响评估]
标准是否是产品验证的无歧义参考?
7. 标准分析
标准文本质量对符合标准的过程和产品行为有不可否认的影响。采用之前提到的质量模型对标准进行分析,展示了自然语言处理(NLP)技术对标准改进的作用。使用QuARS工具可以突出标准中潜在的语言缺陷,但工具报告的结果包含缺陷、不重要的发现以及预期和期望的属性。分析不同标准的结果进行比较更有意义,同时要考虑到误报问题,必要时进行手动检查。
本次分析选取了两种不同类型的铁路标准:
| 标准类型 | 具体标准 | 内容简介 |
| ---- | ---- | ---- |
| 过程标准 | CENELEC EN 50128:2011 | 与软件生命周期相关 |
| 产品标准 | 欧洲铁路署(ERA)发布的ERTMS系统功能需求规格 | 包含ERTMS系统的功能要求 |
工具应用结果如下表所示,展示了每个质量模型子特征下潜在缺陷句子的数量和占总句子数的百分比:
| 子特征 | CENELEC EN 50128:2011潜在缺陷句子数 | CENELEC EN 50128:2011百分比 | ERTMS系统潜在缺陷句子数 | ERTMS系统百分比 |
| ---- | ---- | ---- | ---- | ---- |
| 欠规范 | [具体数量1] | [具体百分比1] | [具体数量2] | [具体百分比2] |
| 模糊性 | [具体数量3] | [具体百分比3] | [具体数量4] | [具体百分比4] |
| 主观性 | [具体数量5] | [具体百分比5] | [具体数量6] | [具体百分比6] |
| 可选性 | [具体数量7] | [具体百分比7] | [具体数量8] | [具体百分比8] |
从结果可以看出,ERTMS条款的潜在缺陷百分比通常低于CENELEC标准。特别是在欠规范方面,差异明显。CENELEC EN 50128:2011作为生命周期过程的参考,内容需要足够通用,以便多种过程实现都能符合条款,因此欠规范可能是一种期望的属性。而ERTMS系统有严格的互操作性要求,不允许不同供应商有过多的实现自由,所以欠规范程度较低。
8. 潜在缺陷案例分析
- 欠规范案例 :QuARS列出了CENELEC EN 50128:2011中115个欠规范的项目,例如在接口描述条款中,“功能”一词需要在类型(编程语言功能、与一个或多个需求相关的功能、安全功能等)和标识(某种类型的哪些功能)方面进行更详细的说明。在分析中,许多欠规范的发现与复数名词有关,因为复数描述集合元素或集合的属性时,难以确定属性是每个元素的还是整个集合的。
-
模糊性案例
- 误报情况 :在某个条款中,“一般”一词被QuARS标记为模糊词,但通过内部参考可以澄清其含义,经手动检查可将此发现作为误报排除。不过,内部参考并非总是有帮助,有时甚至会导致理解问题。
- 真实模糊情况 :在另一个条款中,“相关的”一词被恰当地标记为模糊词,因为没有明确的标准来评估某种数据和算法的组合是否相关。
9. 总结与思考
标准的语言质量对产品验证和开发过程有着重要影响。通过NLP技术和质量模型的应用,可以有效地检测标准中的潜在语言缺陷。然而,在实际应用中,需要注意工具报告的误报问题,结合手动检查和分析上下文来准确判断缺陷的真实性。
同时,标准中的欠规范情况在某些情况下可能是期望的属性,它可以为设计、实现和配置提供一定的灵活性,但也可能导致利益相关者之间的误解和项目延迟。如何让自动工具区分期望和不期望的歧义,仍需要进一步的研究。
graph LR
A[标准分析流程] --> B[选择标准]
B --> C[应用QuARS工具]
C --> D[获取潜在缺陷结果]
D --> E[分析结果(考虑误报)]
E --> F[手动检查与确认]
F --> G[得出最终缺陷结论]
在未来的标准制定和使用过程中,应更加重视语言质量,采用科学的方法和工具进行评估和改进,以确保标准能够为产品验证提供更准确、无歧义的参考。
超级会员免费看

被折叠的 条评论
为什么被折叠?



