研发效能实验室荣国平老师团队在智能化代码评审技术方面取得新进展

发布日期:2024-02-26 浏览次数:


依托我院软件研发效能实验室与腾讯合作开展的 " 代码评审意见的质量评价与智能推荐 " 研究项目,荣国平老师带领于永达( 21级直博生 )、张逸凡( 20级专硕 )等同学敏锐地注意到智能化代码评审中广泛存在的数据集质量问题,并创新性地提出了一种从现有相关研究所使用的数据集中面向特定代码评审目标( 例如质量提升、知识传播等 )提炼高质量数据集的方法,有效提升了现有的主流代码评审者推荐算法的效率和效果。


研究团队发现,尽管代码审查是确保软件质量的关键步骤,但现有的代码评审者推荐( Code Reviewer Recommendation, 简称 CRR )算法在推荐合适的评审者时存在一定的局限性。这主要是因为这些算法的训练数据中通常包含大量低质甚至无关的评论数据,而常规评价推荐结果准确性的指标并不能充分体现评审者对代码评审任务的真实贡献,从而引发了所谓的 Ground Truth 问题。为了解决这一问题,研究团队提出了一种评审意见质量评价方法( Quality Enhancing Review Comment, QERC )分别针对三种典型评论,即代码内评论、一般评论以及许可并入评论,定义了高质量评审意见的标准和相应的提炼算法,支持从开源社区的原始评审相关数据集中提炼出与代码质量提升相关的评论,从而获得了精炼的高质量数据集。


为了更好地体现评审者对代码质量提升的作用,研究团队还引入了一个新的评估指标 —— 评审者的代码质量提升能力( RCQE )。这一指标考虑了评审者在提升代码质量方面的相关能力和信誉( credibility ),为评估代码评审者推荐算法的性能提供了更全面的视角。



图 1研究方法概览


为了验证方法的效果,研究团队在七个流行的开源项目上开展了实证研究。研究结果显示,QERC 能够有效地解决当前流行的 CRR 算法中的 Ground Truth 问题,帮助推荐系统找到能为代码质量带来实质提升的评审者。研究成果为智能代码评审领域的研究者和实践者提供了宝贵的参考。


目前该项研究成果已经被软件工程学科国际顶级旗舰期刊 Transactions on Software Engineering ( TSE,CCF-A类 )录用,论文标题为 " Distilling Quality Enhancing Comments from Code Reviews to Underpin Reviewer Recommendation " ,第一作者单位和通讯作者单位均为南京大学。