论文

检测-修复-验证 LLM 生成的代码:多语言、多粒度实证研究

Detect--Repair--Verify for LLM-Generated Code: A Multi-Language, Multi-Granularity Empirical Study

模型评测基准与评测资源

摘要

大语言模型 可以生成可运行的软件工件,但其安全性仍然难以端到端评估。本研究通过检测-修复-验证 (DRV) 工作流程来检查该问题,其中检测、修复漏洞,然后通过安全和功能测试重新检查。它解决了当前证据中的四个差距:缺乏针对 LLM 生成的工件的基于测试的基准、管道级有效性的证据有限、检测报告作为修复指导的可靠性不明确以及验证下的修复可信度不确定。为了支持这项研究,EduCollab 被构建为可运行的 LLM 生成的 PHP、JavaScript 和 Python Web 应用程序的多语言、多粒度基准。每个工件都与可执行的功能和漏洞测试套件配对,并且基准测试涵盖项目级、需求级和文件级设置。在此基准上,该研究比较了可比预算约束下的未修复基线、单遍检测修复和有界迭代 DRV。结果通过安全正确的产量来衡量,并分析中间工件和迭代跟踪,以评估报告的可操作性和修复故障模式。结果表明,与单遍修复相比,有界迭代 DRV 可以提高安全正确的良率,但增益在项目级别上不均匀,并且在较窄的修复范围内变得更加明显。检测报告通常对下游修复有用,但其可靠性并不一致。维修的可信度还很大程度上取决于维修范围。这些发现强调需要对基于 LLM 的漏洞管理工作流程进行基于测试的端到端评估。