  Source code summarization aims at generating concise descriptions of given
programs' functionalities. While Transformer-based approaches achieve promising
performance, they do not explicitly incorporate the code structure information
which is important for capturing code semantics. Besides, without explicit
constraints, multi-head attentions in Transformer may suffer from attention
collapse, leading to poor code representations for summarization. Effectively
integrating the code structure information into Transformer is under-explored
in this task domain. In this paper, we propose a novel approach named SG-Trans
to incorporate code structural properties into Transformer. Specifically, to
capture the hierarchical characteristics of code, we inject the local symbolic
information (e.g., code tokens) and global syntactic structure (e.g., data
flow) into the self-attention module as inductive bias. Extensive evaluation
shows the superior performance of SG-Trans over the state-of-the-art
approaches.
