How Requirements Quality Makes (or Breaks) Traceability Link Recovery
本文提供了实证证据,表明需求质量显著影响自动化追溯链路恢复的性能,并证明了特定的缺陷会根据所使用的具体方法,对恢复过程产生阻碍或促进作用。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正试图建造一座巨大的图书馆,其中的每一本书(软件需求)都必须与用于构建它的特定书架和工具(源代码)完美连接。这种连接被称为追溯性链接(Traceability Link)。
在过去,人类必须手动在书籍和书架之间画线。这既慢又枯燥,而且充满了错误。因此,研究人员发明了“机器人图书管理员”(自动化算法)来承担这项工作。这些机器人阅读书籍,并猜测它们属于哪些书架。
这篇论文提出了一个简单但至关重要的问题:书籍的编写方式是否会影响机器人图书管理员完成工作的效果?
以下是他们的研究结果,使用了简单的类比:
实验:测试“机器人图书管理员”
研究人员选取了两个真实的软件项目(一个关于旅游业,一个关于医疗保健),并查看了 189 个“用例”(基本上是描述软件应该做什么的故事)。
他们扮演了严格编辑的角色,在这些故事中标记了 28 种不同类型的“写作缺陷”或“质量缺陷”。其中一些缺陷的例子包括:
- 缺失主语: 句子没有以清晰的“谁”(例如:“去商店”而不是“用户去商店”)开头。
- 太长: 故事过于冗长。
- 层级混合: 故事同时在谈论用户的体验和计算机的内部线路。
- 令人困惑的词汇: 使用“也许”、“不”或者在没有明确指代的情况下引用事物。
然后,他们运行了 五种不同类型的机器人图书管理员(不同的自动化算法),以观察这些机器人将故事与代码连接的效果如何。最后,他们使用统计学方法来观察这些“缺陷”是让机器人的速度变快了、变慢了,还是变得更困惑了。
令人惊讶的结果:并非所有的“错误”都是坏事
最大的启示是:让读者困惑的东西并不一定会让机器人感到困惑。 事实上,一些我们认为的“糟糕写作”实际上对机器人很有帮助。
以下是关键发现:
1. 让机器人感到困扰的“坏”东西
就像人类一样,机器人也会被某些类型的写作所困扰:
- 缺失主语: 如果句子没有以清晰的名词(行动者)开头,机器人就会迷失方向。这就像一张地图只说“向左转”,却没说谁要向左转。
- 太长: 如果一个需求是一大块文字墙,机器人的表现就会下降。要在草堆里找针变得更加困难。
- 否定词与模糊指代: 使用像“不”这样的词或模糊地引用事物(anaphora)会降低机器人的准确性。
2. 实际上对机器人有帮助的“坏”东西
这是一个转折点。一些专业编辑会标记为“缺陷”的东西,实际上让机器人的工作做得更好:
- 泄露“秘方”(抽象层级不一致): 通常,一个需求故事应该只谈论用户想要什么,而不是计算机如何实现它。但是,如果故事不小心包含了技术细节(例如“系统发送了一个信号”),机器人却非常喜欢它!这就像是一张藏宝图不小心提到了宝箱的颜色;它给了机器人寻找代码的直接线索。
- 任务混合(需求纠缠): 通常,一个故事应该专注于一件事。但如果一个故事把几个不同的功能混合在一起,一些机器人寻找链接的效果反而变好了。似乎在一个地方拥有更多的上下文有助于它们推测连接关系。
- 替代路径: 在主故事中包含“如果……怎么办”的情景(替代流),帮助机器人找到了更多的链接,尽管指南通常建议将它们分开。
“一刀切”规则并不适用
研究人员还发现,不同的机器人反应不同。
- 一种类型的机器人(基于简单的关键词匹配)非常喜欢故事变长并包含技术术语。
- 另一种类型的机器人(基于高级人工智能)则不太在意长度,但在故事“纠缠”时会感到困扰。
类比: 想象你有一只狗和一只猫。如果你扔出一个球,狗会去追;如果你扔出一根羽毛,猫会去追。如果你对狗讲了一个“糟糕”的故事,它可能会感到困惑。但如果你对那只猫讲同样“糟糕”的故事,它可能完全没问题。你不能只说“这个故事很差”;你必须问,“对于哪种机器人来说很差?”
核心结论
该论文得出结论,如果我们的目标是辅助自动化工具,我们就不能盲目地遵循关于“完美写作”的规则。
- 如果你想帮助人类阅读需求,你应该避免长句、缺失主语和混合技术细节。
- 但是,如果你想帮助自动化机器人寻找代码,你实际上可能想要保留那些“技术细节”和“混合故事”,因为它们可以作为机器人的额外线索。
作者建议,在选择机器人图书管理员之前,你应该检查你故事的质量。根据你的故事具有多少“缺陷”,你可能需要选择特定类型的机器人才能获得最佳效果。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。