Icing on the Cake: Automatic Code Summarization at Ericsson

2024年08月19日
  • 简介
    本文介绍了我们在全球电信公司Ericsson内进行Java方法自动摘要的研究成果。我们评估了一种叫做自动语义提示增强(ASAP)的方法的性能,该方法使用大型语言模型(LLM)为Java方法生成领先的摘要注释。ASAP通过整合静态程序分析和信息检索技术来增强$LLM$的提示上下文,以识别类似的示例方法及其开发人员编写的Javadocs,作为我们研究的基线。相比之下,我们探讨并比较了四种更简单的方法的性能,这些方法不需要静态程序分析、信息检索或ASAP方法中的示例存在。我们的方法仅依赖Java方法体作为输入,使它们更轻量级且更适合在商业软件开发环境中进行快速部署。我们在Ericsson软件项目上进行了实验,并使用两个广泛使用的开源Java项目Guava和Elasticsearch复制了该研究,以确保我们结果的可靠性。性能是通过捕捉各种相似性方面的八个指标来衡量的。值得注意的是,我们的其中一种更简单的方法在Ericsson项目和开源项目上表现得至少和ASAP方法一样好。此外,我们进行了一项消融研究,以检查方法名称对于我们四种提出的方法和ASAP方法的Javadoc摘要生成的影响。通过屏蔽方法名称并观察生成的摘要,我们发现我们的方法在缺少方法名称的情况下受到的影响显著小于基线。这表明我们的方法对方法名称的变化更具有鲁棒性,并且可能更全面地从方法体中推导出摘要。
  • 图表
  • 解决问题
    解决自动摘要的问题,即如何自动为Java方法生成摘要。通过比较不同方法的表现,验证轻量级方法是否能够达到和重量级方法相似的性能水平。
  • 关键思路
    使用轻量级的方法自动生成Java方法的摘要,而不需要使用静态程序分析、信息检索或示例方法。
  • 其它亮点
    论文提出了一种名为ASAP的方法,并与四种轻量级方法进行比较。实验使用了Ericsson软件项目和两个广泛使用的开源Java项目。结果表明,其中一种轻量级方法表现优于ASAP方法。论文还进行了消融研究,发现轻量级方法比ASAP方法更具有鲁棒性。
  • 相关研究
    相关研究包括使用深度学习模型生成自然语言摘要的方法,以及使用程序分析和信息检索技术生成摘要的方法。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论