需求可追溯性(RT),即能够将需求与源代码等工件联系起来[1],对于复杂系统的质量和安全至关重要[2],确保最终产品满足客户需求[3]。然而,这些链接经常丢失或过时,因此需要系统地恢复它们,这一任务被称为需求可追溯性链接恢复(RTLR)。未能恢复链接可能导致严重的质量下降和安全风险[4],[5]。因此,有效的RTLR是影响分析[6],[7]等任务的关键支持,并且通常受到监管标准的强制要求[8],[9]。
由于自然语言需求和源代码之间存在显著的概念差距[10],[11],恢复它们之间的链接一直是一个重要且持续的挑战。本研究特别关注推进需求到代码的RTLR。考虑一个典型的维护场景,其中现有的需求被修改,从而产生了一个新版本。在这种情况下,原始的可追溯性链接可能不再有效,必须从现有的代码库中恢复新的、正确的链接。
自动化的RTLR遵循了两种主要范式:信息检索(IR)和机器学习(ML)。基于IR的方法[11],如向量空间模型[12],[13],[14],[15],计算文本相似性,但受到词汇不匹配问题的限制。同样,在代码克隆检测等相关任务中,捕捉深度代码语义仍然是一个持续的挑战[16]。ML范式通过将RTLR重新定义为预测建模任务[3]来克服这一问题。通过利用嵌入技术(这些技术在分析其他领域(如签名网络[17])中的复杂关系结构时表现出了强大的性能),这些模型从标记数据中学习潜在的语义模式以弥合语义差距。ML技术已经从概率模型[18]发展到深度学习架构[19],以及最近的预训练语言模型(PLMs)[20],[21]。尽管这些模型具有潜力,但其性能受到高质量标记训练数据稀缺的严重限制[22],[23],[24],[25]。
在工业实践中,手动策划可追溯性链接非常耗时且成本高昂[5],导致足够的训练数据普遍稀缺。这一以数据为中心的瓶颈成为在工业可追溯性场景中应用监督微调技术的主要障碍,从而形成了一个需要创新解决方案的关键研究空白。
为了解决这一数据稀缺的瓶颈,本文提出并验证了一个协同框架,用于需求到代码的可追溯性,该框架将LLM驱动的数据增强与先进的、对齐的编码器相结合。本工作的主要贡献如下:
首先,我们为RTLR中的LLM驱动数据增强建立了一种系统的方法论。我们的全面评估表明,提示工程策略是主导性能的因素,而不是特定LLM的选择,为在此背景下利用LLM提供了实用指南。
- •
其次,我们量化了数据增强与模型架构之间的强大协同作用。我们证明了数据增强本身可以为现有的、最先进的基于PLM的方法提供显著的性能提升。此外,我们展示了将其应用于更先进和对齐的编码器后,召回率可以进一步提高10%。
- •
最后,我们提供了一个新的高性能需求到代码可追溯性基准。完全优化的框架在
得分上相比现有基线提高了23.13%,在得分上提高了21.37%。此外,在严格的跨项目评估中,它展示了卓越的鲁棒性,召回率达到50.70%,有效地使候选生成覆盖率超过了最先进的零样本检索增强生成(RAG)方法的两倍。