中文

RobuNFR:评估大型语言模型在非功能需求感知代码生成上的鲁棒性

软件工程 2025-04-04 v2 人工智能

摘要

当使用 LLM 处理非功能需求(NFR)时,开发者的行为可能会有所不同(例如,用不同的词语表达相同的 NFR)。鲁棒的 LLM 应在这些变化中输出一致的结果;然而,这一方面仍有待探索。我们提出了 RobuNFR,用于评估 LLM 在 NFR 感知代码生成中的鲁棒性,涵盖四个 NFR 维度:设计、可读性、可靠性和性能,并使用三种方法:提示词变化、回归测试和多样化工作流。我们的实验表明,RobuNFR 在代码生成中考虑 NFR 时揭示了被测 LLM 的鲁棒性问题。具体而言,在提示词变化下,与不含 NFR 的基线(即仅功能)相比,包含 NFR 会导致 Pass@1 下降高达 39%,标准差从 0.48 增加到 2.48。虽然纳入 NFR 通常会改善整体 NFR 指标,但也导致了更高的提示词敏感性。在回归设置中,部分 LLM 在不同版本间表现出差异,某一方面的改进(例如减少代码异味)往往伴随着另一方面的退化(例如正确性下降),揭示了挑战其鲁棒性的不一致性。当改变工作流时,被测 LLM 在两种工作流之间表现出显著不同的 NFR 感知代码生成能力:(1) 将 NFR 和功能需求集成到初始提示词中,以及 (2) 使用相同的 NFR 增强仅功能生成的代码。

关键词

引用

@article{arxiv.2503.22851,
  title  = {RobuNFR: Evaluating the Robustness of Large Language Models on Non-Functional Requirements Aware Code Generation},
  author = {Feng Lin and Dong Jae Kim and Zhenhao Li and Jinqiu Yang and Tse-Hsun and Chen},
  journal= {arXiv preprint arXiv:2503.22851},
  year   = {2025}
}

备注

Corrected metadata: fixed author name in submission form (TeX file was already correct)