通过跨任务知识蒸馏改进代码审查连续任务的学习
软件工程
2024-02-06 v1
摘要
代码审查是软件开发中的一个基本过程,在确保代码质量和减少错误与缺陷的可能性方面起着关键作用。然而,代码审查可能复杂、主观且耗时。质量估计、评论生成和代码优化构成了该过程的三个关键任务,传统上文献中使用不同的方法分别处理它们的自动化。特别是,最近的工作集中在微调预训练语言模型以辅助代码审查任务,每个任务被孤立地考虑。我们认为这些任务是相互关联的,它们的微调应考虑这种关联。在本文中,我们介绍了一种新颖的深度学习架构,名为DISCOREV,它采用跨任务知识蒸馏来同时处理这些任务。在我们的方法中,我们利用模型级联来增强评论生成和代码优化模型。评论生成模型的微调由代码优化模型指导,而代码优化模型的微调由质量估计模型指导。我们使用两种策略实现这种指导:基于反馈的学习目标和嵌入对齐目标。我们通过将DISCOREV与基于独立训练和微调的最先进方法进行比较来评估它。我们的结果表明,根据BLEU分数,我们的方法生成了更好的审查评论,并且根据CodeBLEU分数,代码优化更准确。
引用
@article{arxiv.2402.02063,
title = {Improving the Learning of Code Review Successive Tasks with Cross-Task Knowledge Distillation},
author = {Oussama Ben Sghaier and Houari Sahraoui},
journal= {arXiv preprint arXiv:2402.02063},
year = {2024}
}
备注
FSE'24. arXiv admin note: substantial text overlap with arXiv:2309.03362