SELGJun 2, 2022

Learning code summarization from a small and local dataset

arXiv:2206.00804v112 citationsh-index: 19
Originality Incremental advance
AI Analysis

This addresses the challenge of adapting foundation models to project-specific software phenomena, offering an incremental improvement for developers needing accurate code summaries in diverse coding environments.

The paper tackled the problem of code summarization by exploring project-specific training versus cross-project approaches, finding that a hybrid method of pre-training on many projects followed by same-project fine-tuning yields consistent and substantial gains over state-of-the-art models across Java and Python projects.

Foundation models (e.g., CodeBERT, GraphCodeBERT, CodeT5) work well for many software engineering tasks. These models are pre-trained (using self-supervision) with billions of code tokens, and then fine-tuned with hundreds of thousands of labeled examples, typically drawn from many projects. However, software phenomena can be very project-specific. Vocabulary, and other phenomena vary substantially with each project. Thus, training on project-specific data, and testing on the same project, is a promising idea. This hypothesis has to be evaluated carefully, e.g., in a time-series setting, to prevent training-test leakage. We compare several models and training approaches, including same-project training, cross-project training, training a model especially designed to be sample efficient (and thus prima facie well-suited for learning in a limited-sample same-project setting) and a maximalist hybrid approach, fine-tuning first on many projects in many languages and then training on the same-project. We find that the maximalist hybrid setting provides consistent, substantial gains over the state-of-the-art, on many different projects in both Java and Python.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes