[Paper] CodeFuse-CommitEval:面向提交信息和代码变更不一致检测的LLM能力基准测试
发布: (2025年11月25日 GMT+8 11:33)
7 min read
原文: arXiv
Source: arXiv - 2511.19875v1
概览
本文提出了 CODEFUSE‑COMMITEVAL,这是首个衡量大型语言模型(LLM)检测提交信息与实际代码改动不匹配(即 提交信息‑代码不一致,MCI)能力的基准。通过提供一个精心策划、基于变异的数据集以及对多种开源 LLM 的全面评估,作者为构建自动标记误导性或低质量提交信息的工具奠定了基础。
关键贡献
- 专用的 MCI 基准,基于高质量的 ApacheCM 数据集构建,覆盖七种系统生成的不一致类型。
- 两步验证流水线,确保正样本(不一致)和负样本(一致)均可靠。
- 全面评估 六种最先进的开源 LLM,在四种提示方式下进行比较:普通提示、少样本提示、思考链(CoT)以及扩展上下文。
- 实证洞察:模型规模、提示风格和不一致类型如何影响检测性能和 token 消耗。
- 开源发布 数据集、评估脚本和详细分析,以促进可复现的研究。
方法论
-
数据构建
- 以 ApacheCM 为起点,该集合包含来自 Apache 项目的真实、文档完善的提交。
- 应用规则驱动的 变异(例如交换组件名称、修改文件路径、改变操作动词,或误报整体目的),将一致的提交转化为不一致的提交。
- 生成七类不一致,范围从低层次的语法不匹配到高层次的语义“目的”错误。
-
验证
- 正向验证:人工审阅者确认变异后的信息确实与 diff 矛盾。
- 负向验证:另行检查确保原始(未改动)提交仍保持一致。
-
模型评估
- 对六种开源 LLM(如 Llama‑2‑7B、Mistral‑7B、GPT‑OSS‑20B 等)在 二分类 场景下进行测试(一致 vs. 不一致)。
- 比较四种提示策略:
普通提示(单一指令)、少样本提示(提示中包含少量示例)、思考链(逐步推理)、扩展上下文(加入相邻提交)。 - 评估指标:召回率、精确率、特异度以及 token 使用量。
结果与发现
| 提示方式 | 召回率 | 精确率 | 特异度 | 平均 Tokens |
|---|---|---|---|---|
| 普通提示 | 84.1% | 78.3% | 61.2% | 1.2k |
| 少样本提示 | 86.7% | 79.5% | 62.0% | 0.9k |
| 思考链 | 82.3% | 82.9% | 66.5% | 1.5k |
| 扩展上下文 | 85.0% | 78.0% | 64.0% | 1.8k |
- 整体检测:模型更擅长标记 不一致 的提交(召回率高),而确认一致性时特异度较低。
- 最佳表现:
gpt-oss-20B获得最高的平衡分数,但其 token 消耗是小模型的两倍以上。 - 提示效果:
- 少样本提示提升准确率并降低 token 消耗,但会略微增加全错预测的比例。
- 思考链提升精确率和特异度,适用于对误报成本敏感的场景,代价是召回率下降且 token 使用增多。
- 添加相邻提交上下文对大模型有帮助,但对小模型会引入噪声。
- 不一致类型:组件、文件路径和操作层面的不匹配检测可靠(召回率 >90%)。“目的”层面的语义不一致最为困难,召回率跌至 70% 以下,且 token 使用激增。
实际意义
- 自动代码审查:将 MCI 检测器集成到审查流程中,可提前发现误导性提交信息,减轻审查者疲劳并防止后续 bug。
- CI/CD 关卡:团队可设置“提交信息质量关卡”,当模型高置信度标记不一致时阻止合并。
- 数据集清洗:构建软件仓库挖掘数据集的研究者可自动过滤噪声提交,提升后续任务(如缺陷预测、变更影响分析)的质量。
- 安全审计:隐藏的安全补丁常伴随模糊信息,MCI 检测器可作为潜在隐蔽改动的第一道警报。
- 工具生态:基准和代码已准备好封装为 VS Code 插件、Git Hook 或云端 LLM 服务,为开发者提供即插即用的质量检查。
局限性与未来工作
- 变异范围:基准依赖规则化变异;真实世界的不一致可能涉及更细腻的语言漂移,当前数据集未能覆盖。
- 模型规模偏差:大模型始终优于小模型,实际部署时需在成本与性能之间权衡或进行模型蒸馏。
- 上下文窗口:扩展上下文的收益有限;未来工作应探索层次化或检索增强的方法,在不淹没模型的前提下提供真正相关的历史。
- 多语言支持:当前数据集局限于 Java 为主的 Apache 项目,扩展到 JavaScript、Python 等其他语言和生态将检验通用性。
- 人机协同:将模型预测与轻量级人工验证结合,可进一步降低误报率,这是作者计划进一步探索的方向。
作者
- 张庆宇
- 刘谱卓
- 迪鹏
- 钱晨雄
论文信息
- arXiv ID: 2511.19875v1
- 分类: cs.SE, cs.AI
- 发布日期: 2025 年 11 月 25 日
- PDF: Download PDF