English

Ensemble Models for Neural Source Code Summarization of Subroutines

Software Engineering 2021-07-27 v1

Abstract

A source code summary of a subroutine is a brief description of that subroutine. Summaries underpin a majority of documentation consumed by programmers, such as the method summaries in JavaDocs. Source code summarization is the task of writing these summaries. At present, most state-of-the-art approaches for code summarization are neural network-based solutions akin to seq2seq, graph2seq, and other encoder-decoder architectures. The input to the encoder is source code, while the decoder helps predict the natural language summary. While these models tend to be similar in structure, evidence is emerging that different models make different contributions to prediction quality -- differences in model performance are orthogonal and complementary rather than uniform over the entire dataset. In this paper, we explore the orthogonal nature of different neural code summarization approaches and propose ensemble models to exploit this orthogonality for better overall performance. We demonstrate that a simple ensemble strategy boosts performance by up to 14.8%, and provide an explanation for this boost. The takeaway from this work is that a relatively small change to the inference procedure in most neural code summarization techniques leads to outsized improvements in prediction quality.

Keywords

Cite

@article{arxiv.2107.11423,
  title  = {Ensemble Models for Neural Source Code Summarization of Subroutines},
  author = {Alexander LeClair and Aakash Bansal and Collin McMillan},
  journal= {arXiv preprint arXiv:2107.11423},
  year   = {2021}
}

Comments

ICSME 2021

R2 v1 2026-06-24T04:28:30.894Z