Automating Code-Related Tasks Through Transformers: The Impact of Pre-training

Rosalia Tufano, Luca Pascarella, Gabriele Bavota
2/8/2023
cs.SEcs.LG

No official code found. Best implementation: RosaliaTufano/impact_pre-training (4 stars, last commit 2023-02-09).

Abstract

Transformers have gained popularity in the software engineering (SE) literature. These deep learning models are usually pre-trained through a self-supervised objective, meant to provide the model with basic knowledge about a language of interest (e.g., Java). A classic pre-training objective is the masked language model (MLM), in which a percentage of tokens from the input (e.g., a Java method) is masked, with the model in charge of predicting them. Once pre-trained, the model is then fine-tuned to support the specific downstream task of interest (e.g., code summarization). While there is evidence suggesting the boost in performance provided by pre-training, little is known about the impact of the specific pre-training objective(s) used. Indeed, MLM is just one of the possible pre-training objectives and recent work from the natural language processing field suggest that pre-training objectives tailored for the specific downstream task of interest may substantially boost the model's performance. In this study, we focus on the impact of pre-training objectives on the performance of transformers when automating code-related tasks. We start with a systematic literature review aimed at identifying the pre-training objectives used in SE. Then, we pre-train 32 transformers using both (i) generic pre-training objectives usually adopted in SE; and (ii) pre-training objectives tailored to specific code-related tasks subject of our experimentation, namely bug-fixing, code summarization, and code completion. We also compare the pre-trained models with non pre-trained ones. Our results show that: (i) pre-training helps in boosting performance only if the amount of fine-tuning data available is small; (ii) the MLM objective is usually sufficient to maximize the prediction performance of the model, even when comparing it with pre-training objectives specialized for the downstream task at hand.

View on arXivView PDF

Code Implementations(1)

Replication Package of the paper "Automating Code-Related Tasks Through Transformers: The Impact of Pre-training" accepted at ICSE'23

40Python, Jupyter NotebookFeb 1, 20233 years ago

Similar Papers

Cite this paper

@article{tufano2023automating,
  title  = {Automating Code-Related Tasks Through Transformers: The Impact of Pre-training},
  author = {Rosalia Tufano and Luca Pascarella and Gabriele Bavota},
  year   = {2023},
  eprint = {2302.04048},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2302.04048v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2302.04048.svg)](https://codeofpaper.com/paper/2302.04048)

Discussion