[论文阅读] AI + 软件工程 | 基于大语言模型的需求依赖检测新突破:LEREDD方法实现高精度与强鲁棒性
需求间存在固有依赖关系,其识别对软件开发至关重要,但自然语言需求的模糊性、需求规模的扩大使该任务极具挑战,现有方法也存在诸多局限。大语言模型(LLM)在自然语言处理中表现优异,但在需求依赖检测中的应用尚未被探索。本文提出LLM赋能的需求依赖检测方法LEREDD,融合检索增强生成(RAG)和上下文学习(ICL),可直接从自然语言需求中识别多类依赖。在813个标注需求对的实证评估中,LEREDD实现0
基于大语言模型的需求依赖检测新突破:LEREDD方法实现高精度与强鲁棒性
论文信息
- 原标题:Automating the Detection of Requirement Dependencies Using Large Language Models
- 主要作者:Ikram Darif, Feifei Niu, Manel Abdellatif, Lionel C. Briand, Ramesh S, Arun Adiththan
- 研究机构:加拿大渥太华大学、加拿大蒙特利尔高等技术学院、爱尔兰利默里克大学Lero软件研究中心、美国通用汽车公司
- 引文格式(GB/T 7714):DARIF I, NIU F, ABDELLATIF M, et al. Automating the Detection of Requirement Dependencies Using Large Language Models[J/OL]. arXiv:2602.22456v1 [cs.SE], 2026[2026-02-28]. https://arxiv.org/abs/2602.22456v1.
一段话总结
本文提出LEREDD,一种基于大语言模型、融合**检索增强生成(RAG)和上下文学习(ICL)**的需求依赖自动检测方法,针对自然语言需求的模糊性、数量大等问题,能识别7类需求依赖类型并输出预测理由和置信度;研究在包含813个需求对的汽车领域标注数据集上,对比GPT-4.1等4款LLM及TF-IDF&LSA、微调BERT两款基线方法,经零样本、少样本+RAG等实验验证,LEREDD取得0.93的准确率和0.84的F1分数,无依赖类F1达0.96,Requires依赖F1相对基线平均提升94.87%和105.41%,跨数据集实验也展现出强鲁棒性,同时研究开源了标注数据集,为相关研究提供支撑,还指出零样本LLM在细粒度依赖检测的局限性,确定了LEREDD的最优提示策略。
思维导图

详细总结
本文聚焦软件工程中需求依赖自动检测问题,针对现有方法的局限性,提出基于大语言模型的LEREDD方法,并通过系统的实证实验验证其性能,同时开源标注数据集,为相关研究提供支撑,以下是分模块详细总结:
一、研究背景与现存问题
- 需求作为软件开发的核心工件,其相互依赖关系对开发决策、变更影响分析、一致性检查至关重要,忽略依赖会导致项目失败、返工等问题;
- 现代软件系统需求具有数量大、复杂度高、自然语言描述模糊、持续变更的特点,人工检测依赖低效且易出错;
- 现有需求依赖检测方法各有局限:
- 检索类:仅支持成对分类,依赖固定表征,无法融入领域上下文;
- 知识类:基于本体/图构建领域知识,开发和维护成本极高;
- 机器学习类:依赖大规模高质量标注数据,且难以处理“无依赖类占比过高”的类别不平衡问题;
- 大语言模型(LLM)在自然语言处理、推理方面能力突出,已成功应用于需求工程的启发、分类等任务,但在需求依赖检测方向的研究仍处于空白。
二、核心方法:LEREDD(LLM-Enabled REquirement Dependency Detection)
LEREDD是一款融合**检索增强生成(RAG)和上下文学习(ICL)**的LLM基需求依赖自动检测方法,可直接从自然语言需求中识别多类型依赖,核心设计如下:
- 输入输出:输入为软件需求规格(SRS)文档和标注需求对数据集;输出为每对需求的依赖类型预测(含无依赖)、置信度(0-5分李克特量表)、推理理由;
- 两大核心阶段:
- 知识检索阶段:包含上下文检索(通过RAG从SRS中提取10个语义最相似的500字符块,提供领域上下文)和动态示例检索(通过ICL为每类依赖/无依赖检索4个相似示例,用SBERT生成嵌入,通过欧氏相似度计算并采用最大相似度聚合公式);
- 依赖推理阶段:选用GPT-4.1作为核心模型,提示词结构化设计(领域背景+需求对+7类依赖正式定义+检索的上下文+示例),要求模型进行自反思以减少幻觉;
- 支持的7类依赖类型:为工业场景定制,涵盖Requires、Implements、Conflicts、Contradicts、Details、Is similar、Is a variant,其中Implements为针对工业合作方需求新增类型。
三、实证实验设计
为验证LEREDD的性能,设计4个递进式研究问题(RQ1-RQ4),并完成数据集构建、基线选择、指标定义等工作,具体如下:
- 研究问题:
- RQ1:哪款SOTA LLM在需求依赖检测中表现最优?
- RQ2:需求依赖检测的最优提示策略是什么?
- RQ3:LEREDD在数据集内与SOTA基线的对比性能如何?
- RQ4:LEREDD在跨数据集(更贴近工业实际)与SOTA基线的对比性能如何?
- 数据集构建
- 数据源:3个汽车领域SRS文档(ADB/自适应远光灯、TJA/交通拥堵辅助、APA/自动泊车辅助),提取40/25/50条需求;
- 标注:2名5年以上经验的需求工程师独立标注,按语义相似度排序优先标注,最终得到813个标注需求对,Cohen’s kappa=0.43(中等一致性),分歧通过共识解决;
- 依赖类型分布:无依赖类占比最高(642/813),Requires类次之(95/813),具体分布如下表:
| 依赖类型 | ADB | TJA | APA | 总计 |
|----------------|------|------|------|-------|
| Conflicts | 14 | - | 4 | 18 |
| Details | 18 | 2 | 1 | 21 |
| Implements | 17 | 10 | 3 | 30 |
| Is similar | 3 | 1 | 3 | 7 |
| Requires | 32 | 18 | 45 | 95 |
| No Dependency | 329 | 169 | 144 | 642 |
| 单系统标注总数 | 413 | 200 | 200 | 813 |
- 对比模型与基线
- 4款LLM:覆盖闭源/开源,包括GPT-4.1、Llama 3.1、Gemma 20B、Mistral 7B;
- 2款SOTA基线:基于检索的TF-IDF&LSA、基于机器学习的微调BERT,排除本体类基线(构建成本高、可扩展性差);
- 评估指标:采用宏平均的准确率(Acc)、精确率(P)、召回率(R)、F1分数,避免类别不平衡导致的指标偏差,所有LLM实验温度设为0以保证结果可复现。
四、核心实验结果
各研究问题的验证结果均证明LEREDD的优越性,关键数字和结论如下:
- RQ1(LLM零样本性能)
- GPT-4.1为最优模型,无依赖类平均F1达0.87,但细粒度依赖检测性能差,整体平均F1仅0.39;
- 开源LLM(Llama 3.1/Gemma 20B/Mistral 7B)性能更低且波动大,对细粒度依赖(如Implements)的F1近乎为0;
- 所有模型对无依赖类检测效果最优,因该类语义分离更清晰。
- RQ2(最优提示策略)
- 经216次少样本实验+24次RAG实验,确定最优提示策略:SBERT嵌入+欧氏距离+最大相似度聚合+每类4个示例,结合10个500字符的RAG分块;
- 该策略相对零样本GPT-4.1,无依赖/Requires/Implements类F1分别提升5.56%/34.62%/81.82%,达0.95/0.70/0.70;
- 少样本关键结论:3-5个示例即可达最优性能,检索质量优于数量;RAG关键结论:适度分块可平衡上下文覆盖与噪声,全文档引入过多噪声。
- RQ3(数据集内与基线对比)
- LEREDD取得平均准确率0.9266、F1分数0.8433,无依赖类F1达0.96;
- 对最难的Requires依赖,F1相对TF-IDF&LSA/微调BERT平均提升94.87%/105.41%;
- 相比基线,LEREDD性能更稳定,微调BERT在TJA数据集的准确率从0.82骤降至0.37,而LEREDD始终高于0.89。
- RQ4(跨数据集与基线对比)
- LEREDD展现强鲁棒性,平均准确率仅下降1.61%,F1下降9.52%,仍保持0.915的准确率和0.76的F1;
- Requires依赖F1相对TF-IDF&LSA/微调BERT提升112.12%/218.18%,无依赖类F1达0.95;
- 微调BERT跨数据集性能大幅下降,Requires类F1从0.52降至0.31,因ML模型高度依赖训练/测试数据的相似性。
五、关键发现与讨论
- 零样本LLM无法满足工业级需求依赖检测,仅能可靠识别无依赖类,细粒度依赖检测需领域上下文和任务特定指导;
- LEREDD的**无依赖类高准确率(0.96)**具有极高实用价值,因无依赖类占比超79%,可大幅过滤无效需求对,减少人工工作量;
- 计算效率:LEREDD平均耗时1分48秒,优于微调BERT(4分03秒),略逊于TF-IDF&LSA(2.48秒),实现性能与效率的平衡;
- 检索与提示的核心原则:少样本中“单个高相关示例”优于“多个弱相关示例”,RAG中“检索精度”优于“检索数量”。
六、研究局限与未来工作
- 局限:数据集仅覆盖汽车领域,泛化性需验证;标注存在主观性;未检测间接/隐式需求依赖;
- 未来工作:将LEREDD扩展至间接/隐式依赖检测;研究依赖预测在需求演化的变更影响分析中的应用;将方法推广至其他领域。
七、研究核心贡献
- 首次提出融合RAG+ICL的LLM基需求依赖检测方法LEREDD,支持7类依赖检测并输出推理理由和置信度;
- 构建并开源813个标注需求对的数据集,填补了需求依赖检测领域公共数据集的空白;
- 系统验证了多款LLM在需求依赖检测的性能,确定了最优提示策略,为LLM在需求工程的应用提供参考;
- 从数据集内/跨数据集两个维度,证明LEREDD显著优于SOTA基线,且具有强鲁棒性,适合工业实际场景。
关键问题
问题1(方法设计类):LEREDD融合RAG和ICL的核心设计思路是什么,二者分别在需求依赖检测中发挥了什么作用?
答案:LEREDD的核心设计思路是通过RAG提取领域特定上下文、ICL检索任务特定相似示例,为LLM提供双重信息支撑,解决自然语言需求的模糊性和领域依赖性问题,弥补零样本LLM在细粒度依赖检测的不足。其中,RAG的作用是从SRS文档中提取系统架构、组件定义等领域上下文,为依赖检测提供场景支撑(如明确术语含义),解决“无领域知识无法识别隐含依赖”的问题;ICL的作用是为每类依赖/无依赖动态检索语义相似的标注示例,为LLM提供任务指导,帮助其学习细粒度依赖的判断标准,解决零样本LLM对小众依赖类型识别能力差的问题。
问题2(实验性能类):LEREDD相比传统SOTA基线(TF-IDF&LSA、微调BERT),在需求依赖检测中的核心优势体现在哪些方面,关键量化指标是什么?
答案:LEREDD相比传统基线的核心优势体现在检测精度更高、细粒度依赖识别能力更强、跨数据集鲁棒性更好、性能更稳定四个方面,关键量化指标如下:1)数据集内:平均准确率0.9266、F1=0.8433,无依赖类F1达0.96,Requires依赖F1相对TF-IDF&LSA/微调BERT平均提升94.87%/105.41%;2)跨数据集:准确率仅下降1.61%,Requires依赖F1相对基线提升112.12%/218.18%;3)稳定性:在3个汽车系统中准确率始终高于0.89,而微调BERT在TJA数据集准确率从0.82骤降至0.37。
问题3(实践应用类):LEREDD在工业实际的需求依赖分析中,具备哪些实用价值,其落地还需要解决哪些问题?
答案:实用价值:1)无依赖类F1达0.96,可大幅过滤占比超79%的无依赖需求对,显著减少人工分析的工作量和时间成本;2)融合RAG+ICL,无需大规模领域标注数据,适配工业场景中“目标系统无标注数据”的现状;3)输出推理理由和置信度,提升检测结果的可解释性,方便工程师审核和验证;4)检测效率优于微调BERT,实现性能与效率的平衡,适合工业级大规模需求分析。落地待解决的问题:1)数据集仅覆盖汽车领域,需在金融、医疗等其他领域验证泛化性;2)目前仅检测直接依赖,需扩展至间接/隐式依赖检测,以覆盖工业场景的全部需求关系;3)需适配需求的持续变更特性,实现实时的依赖更新与检测;4)需开发可视化工具,将检测结果转化为直观的依赖图,方便工程师进行需求管理。
研究背景
在软件工程项目中,需求是开发的核心基础,而需求之间并非孤立存在,存在着依赖、冲突、细化等多种关联关系,识别这些依赖是开展变更影响分析、需求一致性检查、项目进度规划的关键前提。比如汽车自动驾驶系统中,“自动泊车制动”需求依赖于“车身制动子系统”需求,若忽略这种依赖,易导致开发返工、产品质量缺陷,甚至引发安全问题。
但在现代软件系统开发中,需求依赖检测面临三大核心难题:一是需求以自然语言描述,存在模糊性、歧义性;二是需求数量大、复杂度高,人工检测耗时耗力且易出错;三是现有检测方法各有局限——检索类方法仅能做成对分类,无法融入领域上下文;知识类方法需构建本体/知识图谱,开发维护成本极高;机器学习类方法依赖大规模标注数据,且难以解决“无依赖需求对占比过高”的类别不平衡问题。
与此同时,大语言模型(LLM)在自然语言处理、推理方面展现出强大能力,已成功应用于需求启发、分类等需求工程任务,但在需求依赖自动检测这一关键方向,其有效性尚未被系统验证,成为该领域的研究空白。
创新点
- 方法创新:首次提出融合**检索增强生成(RAG)与上下文学习(ICL)**的LLM基需求依赖检测方法LEREDD,突破了零样本LLM在细粒度依赖检测的局限性,实现领域上下文与任务示例的双重赋能。
- 任务拓展:支持7类需求依赖类型的检测(含为工业场景定制的Implements类型),并为每对需求输出依赖类型预测+推理理由+置信度,提升结果的可解释性和实用性,解决现有方法仅能检测少数依赖类型的问题。
- 性能突破:针对需求依赖检测的类别不平衡问题,实现了无依赖类的高精度过滤(F1=0.96)和细粒度依赖类的高灵敏度识别,同时在跨数据集实验中展现出强鲁棒性,适配工业场景中“目标系统无标注数据”的实际需求。
- 资源贡献:构建并开源了包含813个标注需求对的汽车领域数据集,填补了需求依赖检测领域公共标注数据的空白,为后续研究提供基准。
研究方法和思路
LEREDD的核心是两阶段流水线架构,以软件需求规格(SRS)文档和标注需求对数据集为输入,最终输出每对需求的依赖检测结果,整体方法拆解为以下关键步骤:
步骤1:生成需求对
从SRS文档中提取n条自然语言需求,生成所有唯一的需求对,数量为n(n−1)/2n(n-1)/2n(n−1)/2,作为检测对象。
步骤2:知识检索阶段(双重检索策略)
该阶段为LLM提供领域上下文和任务示例,是LEREDD的核心创新部分,包含两个子步骤:
- 上下文检索(RAG):对SRS文档的系统描述、需求列表进行固定尺寸分块,通过语义相似度检索10个500字符的相关块,提取领域特定信息(如系统组件定义、架构关系),解决自然语言需求的歧义性问题。
- 动态示例检索(ICL):采用SBERT模型为目标需求对和标注示例需求对生成嵌入,通过欧氏相似度和最大相似度聚合公式计算语义相似度,为每类依赖/无依赖检索4个最相似示例,为LLM提供任务指导。
步骤3:依赖推理阶段
- 模型选择:选用GPT-4.1作为核心推理模型(经实验验证为需求依赖检测的最优LLM)。
- 提示词设计:结构化构建提示词,包含专家角色定义+需求对+7类依赖正式定义+检索的领域上下文+相似示例,并要求模型进行自反思。
- 输出生成:对每对需求,模型按固定格式输出依赖状态(类型/无依赖)、推理理由、0-5分置信度,减少模型幻觉,提升结果可解释性。
实验方法
- 数据集构建:选取3个汽车领域SRS文档(ADB/TJA/APA),提取115条需求,由2名5年以上经验的需求工程师标注813个需求对,Cohen’s kappa=0.43(中等一致性),分歧通过共识解决。
- 对比对象:4款LLM(GPT-4.1、Llama 3.1、Gemma 20B、Mistral 7B)、2类SOTA基线(检索类TF-IDF&LSA、机器学习类微调BERT)。
- 研究问题设计:围绕LLM性能、最优提示策略、数据集内对比、跨数据集对比设计4个递进式研究问题(RQ1-RQ4)。
- 评估指标:采用宏平均的准确率、精确率、召回率、F1分数,避免类别不平衡导致的指标偏差,所有LLM实验温度设为0以保证结果可复现。
主要成果和贡献
一、核心实验成果
通过4个研究问题的系统验证,LEREDD展现出远超现有方法的性能,核心量化成果如下表所示,且数据集将随论文发表开源(复制包含标注数据、源码、实验配置)。
| 研究问题 | 核心结论 | 关键量化指标 |
|---|---|---|
| RQ1:最优零样本LLM | GPT-4.1为最优模型,零样本下无依赖类检测效果好,但细粒度依赖检测能力弱 | GPT-4.1无依赖类平均F1=0.87,整体平均F1仅0.39;开源LLM性能更低且波动大 |
| RQ2:最优提示策略 | 少样本+RAG的组合策略最优,远胜零样本LLM | 最优配置:SBERT+欧氏距离+4示例/类+10个500字符RAG块;无依赖/Requires/Implements类F1达0.95/0.70/0.70,相对零样本分别提升5.56%/34.62%/81.82% |
| RQ3:数据集内与基线对比 | LEREDD完胜TF-IDF&LSA、微调BERT,性能更稳定 | 平均准确率0.9266、F1=0.8433;Requires依赖F1相对基线平均提升94.87%/105.41%;无依赖类F1=0.96 |
| RQ4:跨数据集与基线对比 | LEREDD鲁棒性极强,性能下降微乎其微,基线性能大幅衰退 | 平均准确率仅下降1.61%(0.915)、F1下降9.52%(0.76);Requires依赖F1相对基线提升112.12%/218.18%;微调BERT Requries类F1从0.52骤降至0.31 |
二、领域贡献
- 技术层面:提出的LEREDD方法实现了需求依赖检测的自动化、高精度、多类型,解决了现有方法的核心痛点,为LLM在需求工程的落地提供了可复用的范式,尤其是RAG+ICL的双重增强策略,可为其他自然语言需求工程任务提供参考。
- 实用层面:LEREDD对无依赖类的F1达0.96,可过滤掉超79%的无效需求对,大幅减少需求工程师的人工分析工作量,提升需求工程效率;同时跨数据集的强鲁棒性,适配工业场景中“缺乏目标系统标注数据”的实际情况,具备极高的工程落地价值。
- 资源层面:开源的813个标注需求对数据集,填补了需求依赖检测领域公共数据的空白,为后续研究提供了基准数据集,推动该领域的研究进展。
- 认知层面:通过系统实验明确了LLM在需求依赖检测中的性能特点——零样本仅能检测无依赖类,细粒度依赖检测需领域上下文+任务示例,为后续LLM在需求工程的应用提供了关键认知。
总结
本文针对软件需求依赖检测的核心难题,提出了基于大语言模型的LEREDD方法,该方法融合检索增强生成(RAG)和上下文学习(ICL),实现了从自然语言需求中自动检测7类直接依赖,并输出推理理由和置信度。研究在3个汽车领域的813个标注需求对上开展了系统实验,对比了4款LLM和2类SOTA基线,结果表明LEREDD取得了93%的准确率和84%的F1分数,无依赖类F1达96%,Requires依赖F1相对基线平均提升超94%,且在跨数据集实验中展现出强鲁棒性(准确率仅下降1.61%)。LEREDD不仅突破了现有方法的局限性,还为需求工程提供了高效的自动化工具,同时开源的数据集为后续研究奠定了基础。未来研究将拓展至间接/隐式依赖检测,并探索其在需求演化影响分析中的应用。
更多推荐
所有评论(0)