Learning Generalizable Multimodal Representations for Software Vulnerability Detection

📄 arXiv: 2604.25711v1 📥 PDF

作者: Zeming Dong, Yuejun Guo, Qiang Hu, Yao Zhang, Maxime Cordy, Hao Liu, Mike Papadakis, Yongqiang Lyu

分类: cs.SE, cs.AI

发布日期: 2026-04-28


💡 一句话要点

提出MultiVul多模态对比学习框架,提升软件漏洞检测的泛化性

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 软件漏洞检测 多模态学习 对比学习 代码注释 代码表示 自然语言处理 软件安全

📋 核心要点

  1. 现有漏洞检测方法主要依赖于单模态的代码表示,忽略了注释中蕴含的互补语义信息,限制了模型在复杂代码结构和逻辑关系上的泛化能力。
  2. MultiVul框架通过双重相似性学习对齐代码和注释表示,并利用一致性正则化增强模型鲁棒性,从而有效融合代码结构和开发者意图。
  3. 实验结果表明,MultiVul在多个大型语言模型上,相比现有方法在F1值上取得了显著提升,验证了其有效性和泛化能力。

📝 摘要(中文)

本文提出MultiVul,一个多模态对比学习框架,旨在提升软件漏洞检测的泛化能力。该框架通过双重相似性学习和一致性正则化对代码和注释表示进行对齐,利用代码的结构逻辑和注释的开发者意图之间的互补关系。同时,通过增加多样化的代码-文本对来增强模型的鲁棒性。在广泛使用的DiverseVul和Devign数据集上,使用DeepSeek-Coder-6.7B、Qwen2.5-Coder-7B、StarCoder2-7B和CodeLlama-7B等大型语言模型进行的实验表明,MultiVul相比于基于提示的方法,F1值最高提升了27.07%,相比于仅使用代码进行微调的方法,F1值提升了13.37%,同时保持了相当的推理效率。

🔬 方法详解

问题定义:现有软件漏洞检测方法主要依赖于单一的代码模态,忽略了代码注释中包含的丰富语义信息。这种单模态方法难以捕捉代码的深层逻辑和开发者意图,导致在面对复杂代码结构和逻辑关系时,模型的泛化能力受限。因此,如何有效利用代码和注释之间的互补信息,提升漏洞检测的准确性和泛化性,是本文要解决的核心问题。

核心思路:本文的核心思路是利用多模态对比学习,将代码和注释视为两种互补的模态,通过学习它们之间的共享表示空间,使模型能够同时理解代码的结构逻辑和开发者的意图。通过对齐代码和注释的表示,模型可以更好地捕捉漏洞的语义特征,从而提高检测的准确性和泛化能力。

技术框架:MultiVul框架主要包含以下几个关键模块:1) 代码和注释的嵌入模块,使用预训练语言模型(如DeepSeek-Coder)将代码和注释分别编码为向量表示;2) 双重相似性学习模块,通过计算代码和注释表示之间的相似度,促使模型学习到代码和注释之间的对应关系;3) 一致性正则化模块,通过对代码和注释表示施加一致性约束,增强模型的鲁棒性;4) 漏洞分类器,基于学习到的多模态表示,对代码片段进行漏洞分类。

关键创新:MultiVul的关键创新在于其多模态对比学习框架,它能够有效地融合代码和注释的信息,从而提升漏洞检测的性能。与传统的单模态方法相比,MultiVul能够更好地捕捉漏洞的语义特征,提高检测的准确性和泛化能力。此外,双重相似性学习和一致性正则化的设计,进一步增强了模型的鲁棒性和泛化能力。

关键设计:在双重相似性学习中,使用了InfoNCE损失函数来最大化正样本对(即代码和对应的注释)之间的相似度,同时最小化负样本对之间的相似度。一致性正则化通过对代码和注释表示添加噪声,并要求模型对噪声扰动具有鲁棒性来实现。实验中,使用了不同的预训练语言模型作为代码和注释的嵌入模块,并调整了对比学习的温度参数和正则化系数,以获得最佳的性能。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,MultiVul在DiverseVul和Devign数据集上,相比于基于提示的方法,F1值最高提升了27.07%,相比于仅使用代码进行微调的方法,F1值提升了13.37%。这些显著的性能提升证明了MultiVul框架的有效性,以及多模态信息融合在漏洞检测中的重要性。

🎯 应用场景

该研究成果可应用于软件安全领域,帮助开发者和安全工程师更准确地检测和修复代码中的漏洞。通过提升漏洞检测的准确性和泛化性,可以有效降低软件安全风险,提高软件质量。未来,该方法可以进一步扩展到其他软件安全任务,如恶意代码检测和漏洞预测。

📄 摘要(原文)

Source code and its accompanying comments are complementary yet naturally aligned modalities-code encodes structural logic while comments capture developer intent. However, existing vulnerability detection methods mostly rely on single-modality code representations, overlooking the complementary semantic information embedded in comments and thus limiting their generalization across complex code structures and logical relationships. To address this, we propose MultiVul, a multimodal contrastive framework that aligns code and comment representations through dual similarity learning and consistency regularization, augmented with diverse code-text pairs to improve robustness. Experiments on widely adopted DiverseVul and Devign datasets across four large language models (LLMs) (i.e., DeepSeek-Coder-6.7B, Qwen2.5-Coder-7B, StarCoder2-7B, and CodeLlama-7B) show that MultiVul achieves up to 27.07% F1 improvement over prompting-based methods and 13.37% over code-only Fine-Tuning, while maintaining comparable inference efficiency.