English

Revisiting File Context for Source Code Summarization

Software Engineering 2023-09-06 v1 Artificial Intelligence

Abstract

Source code summarization is the task of writing natural language descriptions of source code. A typical use case is generating short summaries of subroutines for use in API documentation. The heart of almost all current research into code summarization is the encoder-decoder neural architecture, and the encoder input is almost always a single subroutine or other short code snippet. The problem with this setup is that the information needed to describe the code is often not present in the code itself -- that information often resides in other nearby code. In this paper, we revisit the idea of ``file context'' for code summarization. File context is the idea of encoding select information from other subroutines in the same file. We propose a novel modification of the Transformer architecture that is purpose-built to encode file context and demonstrate its improvement over several baselines. We find that file context helps on a subset of challenging examples where traditional approaches struggle.

Keywords

Cite

@article{arxiv.2309.02326,
  title  = {Revisiting File Context for Source Code Summarization},
  author = {Aakash Bansal and Chia-Yi Su and Collin McMillan},
  journal= {arXiv preprint arXiv:2309.02326},
  year   = {2023}
}

Comments

27 pages + references, Under peer review