arrow
Return

Using Transfer Learning for Code-Related Tasks

delete2023-04-01
delete21
delete
OA
AI
A
Antonio Mastropaolo
N
Nathan Cooper
D
David N. Palacio
S
Simone Scalabrino
D
Denys Poshyvanyk
R
Rocco Oliveto
G
Gabriele Bavota *
DOI:10.1109/TSE.2022.3183297delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Deep learning (DL) techniques have been used to support several code-related tasks such as code summarization and bug-fixing. In particular, pre-trained transformer models are on the rise, also thanks to the excellent results they achieved in Natural Language Processing (NLP) tasks. The basic idea behind these models is to first pre-train them on a generic dataset using a self-supervised task (e.g., filling masked words in sentences). Then, these models are fine-tuned to support specific tasks of interest (e.g., language translation). A single model can be fine-tuned to support multiple tasks, possibly exploiting the benefits of transfer learning. This means that knowledge acquired to solve a specific task (e.g., language translation) can be useful to boost performance on another task (e.g., sentiment classification). While the benefits of transfer learning have been widely studied in NLP, limited empirical evidence is available when it comes to code-related tasks. In this paper, we assess the performance of the Text-To-Text Transfer Transformer (T5) model in supporting four different code-related tasks: (i) automatic bug-fixing, (ii) injection of code mutants, (iii) generation of assert statements, and (iv) code summarization. We pay particular attention in studying the role played by pre-training and multi-task fine-tuning on the model's performance. We show that (i) the T5 can achieve better performance as compared to state-of-the-art baselines; and (ii) while pre-training helps the model, not all tasks benefit from a multi-task fine-tuning.
Keywords:
Deep learning
Deep learning
empirical software engineering
empirical software engineering

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.8K
Citations:
1.1W

Organization

U
Universita della Svizzera Italiana
Scholars:
3.3K
Papers: 2.8K
Citations: 3
U
University of Molise
Scholars:
2.6K
Papers: 2.6K
Citations: 2.8K