中文

一种基于多模态 Transformer 的智能合约代码摘要方法

软件工程 2021-03-15 v1

摘要

代码注释一直是计算机程序的重要组成部分,极大促进了源代码的理解与维护。然而,在区块链上运行的日益流行的智能合约中,高质量代码注释往往不可用。本文提出一种基于多模态 Transformer(MMTrans)的智能合约代码摘要方法。具体而言,MMTrans 从抽象语法树(AST)的两种异构模态(即基于结构的遍历(SBT)序列和图)学习源代码表示。SBT 序列提供 AST 的全局语义信息,而图卷积聚焦于局部细节。MMTrans 使用两个编码器分别从两种模态提取全局和局部语义信息,然后使用联合解码器生成代码注释。编码器与解码器均采用 Transformer 的多头注意力结构,以增强捕捉代码 token 间长距离依赖的能力。我们构建了包含超过 300K 个智能合约 <方法,注释> 对的数据集,并在其上评估 MMTrans。实验结果表明,MMTrans 在四项评估指标上大幅优于 SOTA 基线,并能生成更高质量的注释。

关键词

引用

@article{arxiv.2103.07164,
  title  = {A Multi-Modal Transformer-based Code Summarization Approach for Smart Contracts},
  author = {Zhen Yang and Jacky Keung and Xiao Yu and Xiaodong Gu and Zhengyuan Wei and Xiaoxue Ma and Miao Zhang},
  journal= {arXiv preprint arXiv:2103.07164},
  year   = {2021}
}

备注

Has been accepted by ICPC'21