面向自动漏洞修复的 LLM:评估推理与补丁验证反馈的影响
软件工程
2024-05-27 v1
摘要
自动程序修复 (APR) 的 recent work 提出利用推理和补丁验证反馈以减少 LLM 与待分析代码之间的语义鸿沟。该想法在通用 APR 上已证明有效,但在其他特定情境中的有效性仍未得到充分探索。在本文中,我们评估了在漏洞修复情境中,推理和补丁验证反馈对 LLM 的影响,这是安全领域的一个重要且具有挑战性的任务。为支持评估,我们提出了 VRpilot,一种基于推理和补丁验证反馈的 LLM 基于漏洞修复技术。VRpilot (1) 使用链式思维提示在生成补丁候选方案前对漏洞进行推理;(2) 根据外部工具(如编译器、代码Sanitizer、测试套件等)对先前生成的补丁进行评估,迭代细化提示。为评估性能,我们将 VRpilot 与用于 C 和 Java 的当前最先进漏洞修复技术进行比较,使用来自文献的公开数据集。我们的结果表明,VRpilot 在 C 和 Java 上的正确补丁生成率分别比基线技术高出 14% 和 7.6%。我们通过消融研究表明,推理和补丁验证反馈至关重要。我们报告了本研究的若干经验教训及推进 LLM 赋能漏洞修复的潜在方向。
引用
@article{arxiv.2405.15690,
title = {A Case Study of LLM for Automated Vulnerability Repair: Assessing Impact of Reasoning and Patch Validation Feedback},
author = {Ummay Kulsum and Haotian Zhu and Bowen Xu and Marcelo d'Amorim},
journal= {arXiv preprint arXiv:2405.15690},
year = {2024}
}
备注
Code, data and artifacts are available: http://tinyurl.com/vrpilot-artifacts