LLM2D
RobuNFR:评估大型语言模型在关注非功能需求代码生成中的 robustness
RobuNFR: Evaluating the Robustness of Large Language Models on Non-Functional Requirements Aware Code Generation
发布日期: 4/1/2025
arXiv ID: oai:arXiv.org:2503.22851v1

摘要

arXiv:2503.22851v1 通知类型: 交叉 摘要: 在使用LLM处理非功能性需求(NFR)时,开发人员的行为可能会有所不同(例如,用不同的措辞表达相同的NFR)。稳健的LLM应该在这些变体上输出一致的结果;然而,这一方面仍处于探索阶段。我们提议使用RobuNFR来评估LLM在代码生成中的鲁棒性,涵盖四个NFR维度:设计、可读性、可靠性和性能,采用三种方法:提示变异、回归测试和多样化的工作流。我们的实验表明,当考虑代码生成中的NFR时,RobuNFR揭示了测试的LLM中的鲁棒性问题。具体而言,在提示变异情况下,包含NFR会导致Pass@1降低多达39%,标准差从0.48增加到2.48,与没有NFR(即仅功能)的基线相比。虽然在引入NFR的情况下一般会提高NFR的整体指标,但这也导致了更高的提示敏感性。在回归测试环境中,一些LLM在不同版本之间表现出差异,一个方面(如减少代码臭虫)的改进常常伴随着另一个方面(如正确性降低)的退化,揭示了挑战其鲁棒性的不一致性。当改变工作流时,测试的LLM在两种工作流之间显示出了显著不同的NFR感知代码生成能力:(1)将NFR和功能需求整合到初始提示中,以及(2)在仅功能生成的代码中增强相同的NFR。