关于神经代码摘要的评估
软件工程
2022-02-14 v2 人工智能
摘要
源代码摘要对于程序理解与维护十分重要。然而,大量程序存在缺失、过时或不匹配的摘要。近年来,深度学习技术被用于自动生成给定代码片段的摘要。为深入理解我们在解决该问题上所处的阶段并为未来研究提供建议,本文对 5 个最先进的神经代码摘要模型在 6 种广泛使用的 BLEU 变体、4 种预处理操作及其组合以及 3 个广泛使用的数据集上进行了系统而深入的分析。评估结果表明,一些重要因素对模型评估有重大影响,尤其体现在模型性能及模型间排名上。然而,这些因素可能易被忽视。具体而言:(1) 现有代码摘要模型评估工作中广泛使用的 BLEU 指标存在多种变体。忽略这些变体间的差异会严重影响所声称结果的有效性。此外,我们进行了人工评估,发现 BLEU-DC 指标与人工感知相关性最高;(2) 代码预处理选择对摘要性能影响很大(从 -18% 到 +25%),不应被忽视。我们还探索了预处理组合的聚合,并提升了模型性能;(3) 数据集的一些重要特性(语料规模、数据划分方法和重复率)对模型评估有显著影响。基于实验结果,我们给出了用于评估代码摘要及在不同场景下选择最佳方法的可操作建议。我们还构建了一个共享的代码摘要工具箱以促进未来研究。
引用
@article{arxiv.2107.07112,
title = {On the Evaluation of Neural Code Summarization},
author = {Ensheng Shi and Yanlin Wang and Lun Du and Junjie Chen and Shi Han and Hongyu Zhang and Dongmei Zhang and Hongbin Sun},
journal= {arXiv preprint arXiv:2107.07112},
year = {2022}
}
备注
Accepted by ICSE 2022 (The 44th International Conference on Software Engineering)