中文

利用大语言模型提取期望评论以增强代码审查

软件工程 2025-01-07 v2 人工智能

摘要

随着大语言模型在代码理解方面表现的日益突出,越来越多的研究关注如何利用大语言模型进行代码审查。大多数审查场景的主要目标是生成期望审查评论(DRCs),这些评论能够明确识别问题以触发代码修复。然而,现有的基于大语言模型的解决方案在生成各种类型的DRCs方面并不十分有效,主要原因之一是幻觉问题。为了提升其代码审查能力,必须使用包含大量DRCs的定制数据集进行微调。然而,目前尚无此类数据集可用,而手动标注DRCs的工作量太大且不够实用。本文提出了一种数据蒸馏方法Desiview,通过从代码审查数据集中识别DRCs来自动构建蒸馏数据集。实验表明,Desiview在CodeReviewer数据集(包含超过15万条审查记录)上实现了惊人的88.93%的精确率、80.37%的召回率、86.67%的准确率和84.44%的F1分数,显著超越了当前最先进的方法。为了验证此蒸馏数据集对增强大语言模型代码审查能力的效果,我们首先对最新的Llama系列模型(即Llama 3和Llama 3.1)进行微调,构建模型Desiview4FT。随后通过KTO对齐技术,将识别出的非DRCs评论输入大语言模型,从而增强模型训练效果,得到模型Desiview4FA。验证结果表明,Desiview4FA略优于Desiview4FT,而两者相较于基础模型在生成DRCs方面均显著提升。人工评估确认,两者在识别问题方面更准确,且倾向于生成更好地描述代码中问题的审查评论。

关键词

引用

@article{arxiv.2412.20340,
  title  = {Distilling Desired Comments for Enhanced Code Review with Large Language Models},
  author = {Yongda Yu and Lei Zhang and Guoping Rong and Haifeng Shen and Jiahao Zhang and Haoxiang Yan and Guohao Shi and Dong Shao and Ruiqi Pan and Yuan Li and Qiushi Wang and Zhao Tian},
  journal= {arXiv preprint arXiv:2412.20340},
  year   = {2025}
}

备注

12 pages, 9 figures