← 最新论文
🤖 AI

Automating the Detection of Requirement Dependencies Using Large Language Models

本文提出了名为 LEREDD 的基于大语言模型的方法,通过结合检索增强生成(RAG)和上下文学习(ICL)技术,实现了从自然语言需求中自动化检测多种依赖关系,并在实验证明其显著优于现有基线方法的同时,公开了包含 813 对需求的数据集以支持后续研究。

原作者: Ikram Darif, Feifei Niu, Manel Abdellatif, Lionel C. Briand, Ramesh S., Arun Adiththan

发布于 2026-02-27
📖 1 分钟阅读☕ 轻松阅读

原作者: Ikram Darif, Feifei Niu, Manel Abdellatif, Lionel C. Briand, Ramesh S., Arun Adiththan

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

这篇论文介绍了一个名为 LEREDD 的新工具,它的任务是帮软件工程师自动找出“需求”之间的依赖关系。

为了让你更容易理解,我们可以把软件开发想象成建造一座巨大的、复杂的摩天大楼

1. 背景:混乱的“需求清单”

在盖楼之前,建筑师(软件工程师)会写下一份长长的需求清单(Requirements)。

  • 比如:“大楼必须有一个自动门”、“自动门需要连接到大楼的电力系统”、“如果停电,自动门必须能手动打开”。
  • 问题在于:这些需求之间是互相纠缠的。如果“电力系统”变了,“自动门”和“手动开关”可能都要跟着变。
  • 现状:在大型项目中,需求成千上万,而且是用自然语言(像人话一样)写的,充满了模糊性。工程师们通常只能靠人工去读这些文档,找出哪些需求是互相依赖的。这就像在几千页的说明书里找几根特定的线,既慢又容易出错,甚至经常漏掉。

2. 主角登场:LEREDD(一位超级智能的“建筑监理”)

为了解决这个问题,作者们开发了一个叫 LEREDD 的系统。它基于目前最火的 大语言模型(LLM)(就像现在的 AI 聊天机器人,但更专业)。

你可以把 LEREDD 想象成一位拥有超级记忆力和逻辑推理能力的“建筑监理”。它的工作流程非常巧妙,分两步走:

第一步:查资料(RAG - 检索增强生成)

当监理看到两个需求(比如“自动门”和“电力系统”)时,它不会瞎猜。

  • 它会先去翻阅整个大楼的原始设计图纸(SRS 文档),找出关于“自动门”和“电力系统”的具体描述。
  • 比喻:这就像你问一个专家:“这两个东西有关系吗?”专家不会只凭印象回答,而是会先去查手册,确认“哦,手册里写了自动门确实连着电力系统”。这确保了回答是基于事实的,而不是 AI 的胡编乱造。

第二步:找参考(ICL - 上下文学习)

光查手册还不够,监理还需要知道“什么样的关系算依赖”。

  • 它会从以前的案例库里,找出4 个最相似的例子给 AI 看。
  • 比喻:就像老师教学生做题,不会只给题目,还会给几个“例题”。
    • 例题 1:如果 A 坏了 B 就不能用,这叫“依赖”。
    • 例题 2:如果 A 和 B 说的是一回事,这叫“重复”。
    • 例题 3:如果 A 和 B 互相打架,这叫“冲突”。
  • 通过看这些例子,AI 就能明白:“哦,原来这种关系叫‘依赖’,那种叫‘冲突’。”

3. 它是怎么工作的?

LEREDD 会像这样处理每一对需求:

  1. 输入:给你两个需求句子。
  2. 思考
    • 去查大楼图纸(RAG),看上下文。
    • 看之前的 4 个例子(ICL),学怎么分类。
    • 自己反思一下:“我为什么这么判断?我有多大的把握?”
  3. 输出
    • 结论:这两个需求有关系吗?如果有,是哪种关系(比如“必须依赖”、“互相冲突”、“只是重复”)?
    • 理由:解释为什么这么判断。
    • 自信度:打个分(0-5 分),表示它有多确定。

4. 效果如何?(成绩单)

作者们拿 LEREDD 和以前的老方法(比如简单的关键词匹配、传统的机器学习模型)做了一场“考试”,用了三个真实的汽车系统(比如自动泊车、交通拥堵辅助)的数据。

  • 准确率极高:LEREDD 的准确率达到了 93% 左右。
  • 特别擅长“排除法”:在现实中,绝大多数需求对其实没有依赖关系(比如“门把手”和“空调温度”通常没关系)。LEREDD 能非常精准地识别出这些“没关系”的情况(F1 分数高达 96%)。
    • 比喻:这就像在几千个嫌疑人里,它能迅速排除掉 90% 无辜的人,让侦探(工程师)只需要重点调查剩下那 10% 真正可疑的。这大大节省了时间。
  • 碾压旧方法:在识别复杂的依赖关系(比如“必须依赖”)时,它的表现比以前的方法好了一倍多(提升了 94% 到 105%)。
  • 抗干扰能力强:即使把训练它的资料换成另一个完全不同的系统(比如从“汽车 A"换到“汽车 B"),它依然表现很好。而以前的机器学习模型一旦换了环境,表现就会大跌。

5. 总结:为什么这很重要?

以前,工程师要手动检查成千上万条需求,就像大海捞针,既累又容易漏。
现在,有了 LEREDD:

  1. 自动化:AI 自动帮你把那些“没关系”的需求先过滤掉。
  2. 更聪明:它不仅能找关系,还能解释为什么,甚至告诉你它有多确定。
  3. 省成本:工程师只需要花精力去审核 AI 认为“有关系”的那一小部分,效率大大提升。

一句话总结
LEREDD 就像给软件工程师配了一位不知疲倦、读过所有图纸、还看过无数案例的超级助手,它能迅速从混乱的需求文档中理清头绪,把那些真正重要的“牵一发而动全身”的关系找出来,让软件开发变得更安全、更高效。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →