paperbot · PL 论文追踪

全部论文 待读 收藏

P2 VulAdvisor: Natural Language Suggestion Generation for Software Vulnerability Repair

VulAdvisor:面向软件漏洞修复的自然语言建议生成
ASE Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering2024匹配度 2/10 · 该论文用 LLM(ChatGPT)构建数据集并微调 CodeT5 来生成漏洞修复的自然语言建议,属于深度学习驱动代码修复,而非用户关注的静态分析、形式化验证或 Agentic 程序分析;虽然同属“LLM 用于软件工程”的大方向,但不触及浮点分析、贝叶斯程序分析或 LLM×静态分析的交叉点,且方法以提示词/微调为主,缺乏理论形式化与工业落地深度。引用 11 inbox
Jian Zhang, Chong Wang, Anran Li, Wenhan Wang, Tianlin Li, Yang Liu
crossref: 2026-09-12

AI 速览

一句话:提出 VulAdvisor,用 ChatGPT 抽取 oracle 构建数据集并微调 CodeT5,为漏洞修复生成自然语言建议。

现有深度学习自动漏洞修复(AVR)方法通常直接生成补丁,与开发者的实际修复实践和期望不符。本文提出 VulAdvisor,自动生成自然语言修复建议以指导开发者或 AVR 工具。它包含 oracle 抽取与建议学习两部分:为缓解历史数据不足,提出 oracle 抽取方法借助 ChatGPT 构建全面高质量数据集;建议学习以监督微调的 CodeT5 为基础,将局部上下文融入多头注意力并引入修复动作损失,以提升建议的相关性与意义。在真实 C/C++ 项目的大规模数据集上,VulAdvisor 在词法与语义指标上均超越多个对比方法;生成的建议还能增强现有 AVR 工具的补丁生成能力,人工评估亦验证了其建议的质量与实用性。

问题
现有深度学习自动漏洞修复方法往往只生成补丁,难以契合开发者的修复实践与期望,且缺少高质量训练数据。
方法
先用基于 ChatGPT 的 oracle 抽取方法构建高质量数据集,再以监督微调的 CodeT5 为基础,将局部上下文注入多头注意力并引入修复动作损失来生成自然语言修复建议。
评估
在真实 C/C++ 项目的大规模数据集上与多个基线比较词法和语义指标,并验证建议能否提升现有 AVR 工具的补丁生成能力,同时进行人工评估。
原文摘要(Abstract)

Software vulnerabilities pose serious threats to the security of modern software systems. Deep Learning-based Automated Vulnerability Repair (AVR) has gained attention as a potential solution to accelerate the remediation of vulnerabilities. However, recent studies indicate that existing AVR approaches often only generate patches, which may not align with developers' current repair practices or expectations. In this paper, we introduce VulAdvisor, an automated approach that generates natural language suggestions to guide developers or AVR tools in repairing vulnerabilities. VulAdvisor comprises two main components: oracle extraction and suggestion learning. To address the challenge of limited historical data, we propose an oracle extraction method facilitating ChatGPT to construct a comprehensive and high-quality dataset. For suggestion learning, we take the supervised fine-tuning CodeT5 model as the basis, integrating local context into Multi-Head Attention and introducing a repair action loss, to improve the relevance and meaningfulness of the generated suggestions. Extensive experiments on a large-scale dataset from real-world C/C++ projects demonstrate the effectiveness of VulAdvisor, surpassing several alternatives in terms of both lexical and semantic metrics. Moreover, we show that the generated suggestions enhance the patch generation capabilities of existing AVR tools. Human evaluations further validate the quality and utility of VulAdvisor's suggestions, confirming their potential to improve software vulnerability repair practices.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot8422,
  title = {VulAdvisor: Natural Language Suggestion Generation for Software Vulnerability Repair},
  author = {Jian Zhang and Chong Wang and Anran Li and Wenhan Wang and Tianlin Li and Yang Liu},
  booktitle = {ASE},
  year = {2024},
  doi = {10.1145/3691620.3695555}
}