  Code comment has been an important part of computer programs, greatly
facilitating the understanding and maintenance of source code. However,
high-quality code comments are often unavailable in smart contracts, the
increasingly popular programs that run on the blockchain. In this paper, we
propose a Multi-Modal Transformer-based (MMTrans) code summarization approach
for smart contracts. Specifically, the MMTrans learns the representation of
source code from the two heterogeneous modalities of the Abstract Syntax Tree
(AST), i.e., Structure-based Traversal (SBT) sequences and graphs. The SBT
sequence provides the global semantic information of AST, while the graph
convolution focuses on the local details. The MMTrans uses two encoders to
extract both global and local semantic information from the two modalities
respectively, and then uses a joint decoder to generate code comments. Both the
encoders and the decoder employ the multi-head attention structure of the
Transformer to enhance the ability to capture the long-range dependencies
between code tokens. We build a dataset with over 300K <method, comment> pairs
of smart contracts, and evaluate the MMTrans on it. The experimental results
demonstrate that the MMTrans outperforms the state-of-the-art baselines in
terms of four evaluation metrics by a substantial margin, and can generate
higher quality comments.
