CodeMorph:缓解大型语言模型评估中的数据泄露
软件工程
2025-06-24 v1
摘要
针对代码大型语言模型(Code LLM)的基准泄露问题引发了人们对数据污染和评估指标虚高的担忧。许多训练数据集的多样性和不可访问性使得即使采用时间滞后策略也难以完全防止数据泄露。因此,通过代码扰动生成新数据集变得至关重要。然而,现有方法通常无法产生复杂且多样的变体,难以处理复杂的跨文件依赖关系,并且缺乏对多种编程语言的支持,这限制了它们在增强编码任务的 LLM 评估方面的有效性。为了填补这一空白,我们提出了 CodeMorph,这是一种旨在支持多种编程语言同时保持跨文件依赖关系以缓解数据泄露的方法。CodeMorph 由两个主要组件组成,它们协同工作以增强扰动过程。第一个组件采用 26 种保持语义的转换方法来迭代地扰动代码,在确保修改后的代码保持可编译的同时生成多样的变体。第二个组件引入了一种基于遗传算法的选择算法 PESO,通过以扰动代码与原始代码之间更低的相似度分数为目标,为每次迭代识别更有效的扰动方法,从而增强整体扰动效果。实验结果表明,应用 CodeMorph 后,LLM 在五种编程语言的代码补全任务上的准确率平均下降了 24.67%,其中 Python 的下降最为显著,达到 45%。由 PESO 优化的代码的相似度分数平均比随机扰动代码低 7.01%,最高降幅达 42.86%。
引用
@article{arxiv.2506.17627,
title = {CodeMorph: Mitigating Data Leakage in Large Language Model Assessment},
author = {Hongzhou Rao and Yanjie Zhao and Wenjie Zhu and Ling Xiao and Meizhen Wang and Haoyu Wang},
journal= {arXiv preprint arXiv:2506.17627},
year = {2025}
}
备注
Accepted by ICSE 2025 (Industry Challenge Track)