BashExplainer:基于微调 CodeBERT 的检索增强式 Bash 代码注释生成
软件工程
2022-06-28 v1
摘要
开发者使用 shell 命令完成诸多任务,如文件系统管理、网络控制和进程管理。Bash 是最常用的 shell 之一,在 Linux 系统开发和维护中起着重要作用。由于 Bash 代码的语言灵活性,不熟悉 Bash 的开发者往往难以理解其用途和功能。本研究探讨 Bash 代码注释生成问题,并提出一种基于两阶段训练策略的自动化方法 BashExplainer。第一阶段,我们在构建的 Bash 代码语料库上微调 CodeBERT 来训练一个 Bash 编码器。第二阶段,我们首先基于语义和词法相似度从代码库中为目标代码检索最相似的代码,随后使用训练好的 Bash 编码器生成两种向量表示,最后通过融合层融合这两种向量表示并由解码器生成代码注释。为展示所提方法的竞争力,我们结合先前 NL2Bash 研究共享的语料库与 NLC2CMD 竞赛共享的语料库构建了一个高质量语料库,包含 10,592 条 Bash 代码及相应注释。然后我们从先前自动代码注释生成研究中选取了十个基线方法,涵盖信息检索方法、深度学习方法与混合方法。
引用
@article{arxiv.2206.13325,
title = {BashExplainer: Retrieval-Augmented Bash Code Comment Generation based on Fine-tuned CodeBERT},
author = {Chi Yu and Guang Yang and Xiang Chen and Ke Liu and Yanlin Zhou},
journal= {arXiv preprint arXiv:2206.13325},
year = {2022}
}
备注
Accepted in ICSME2022