基于ChatGPT的自动代码摘要:我们进展几何?
软件工程
2023-05-23 v1 人工智能
摘要
为支持软件开发者理解并维护程序,已有多种自动代码摘要技术被提出,以为给定代码片段生成简明的自然语言注释。近来,大语言模型(LLMs)的出现极大推动了自然语言处理任务的性能。其中,ChatGPT是最受欢迎的模型,已引起软件工程界的广泛关注。然而,ChatGPT在(自动)代码摘要中的表现仍不明确。因此,本文聚焦于在广泛使用的Python数据集CSN-Python上评估ChatGPT,并将其与若干最先进(SOTA)代码摘要模型比较。具体而言,我们首先探索合适的提示以引导ChatGPT生成分布内注释。随后,我们用该提示请求ChatGPT为CSN-Python测试集中所有代码片段生成注释。我们采用三个广泛使用的指标(包括BLEU、METEOR与ROUGE-L)来衡量ChatGPT与SOTA模型(包括NCS、CodeBERT与CodeT5)所生成注释的质量。实验结果显示,在BLEU与ROUGE-L方面,ChatGPT的代码摘要性能显著劣于全部三个SOTA模型。我们也给出若干案例并讨论ChatGPT在代码摘要中的优劣。基于发现,我们勾勒了基于ChatGPT的代码摘要中若干开放挑战与机遇。
引用
@article{arxiv.2305.12865,
title = {Automatic Code Summarization via ChatGPT: How Far Are We?},
author = {Weisong Sun and Chunrong Fang and Yudu You and Yun Miao and Yi Liu and Yuekang Li and Gelei Deng and Shenghan Huang and Yuchen Chen and Quanjun Zhang and Hanwei Qian and Yang Liu and Zhenyu Chen},
journal= {arXiv preprint arXiv:2305.12865},
year = {2023}
}