Making the most of small Software Engineering datasets with modern machine learning
Not on the map. Why?
Abstract (arXiv)
This paper provides a starting point for Software Engineering (SE) researchers and practitioners faced with the problem of training machine learning models on small datasets. Due to the high costs associated with labeling data, in Software Engineering,there exist many small (< 1 000 samples) and medium-sized (< 100 000 samples) datasets. While deep learning has set the state of the art in many machine learning tasks, it is only recently that it has proven effective on small-sized datasets, primarily thanks to pre-training, a semi-supervised learning technique that leverages abundant unlabelled data alongside scarce labelled data.In this work, we evaluate pre-trained Transformer models on a selection of 13 smaller datasets from the SE literature, covering both,source code and natural language. Our results suggest that pre-trained Transformers are competitive and in some cases superior to previous models, especially for tasks involving natural language; whereas for source code tasks, in particular for very small datasets,traditional machine learning methods often has the edge.In addition, we experiment with several techniques that ought to aid training on small datasets, including active learning, data augmentation, soft labels, self-training and intermediate-task fine-tuning, and issue recommendations on when they are effective. We also release all the data, scripts, and most importantly pre-trained models for the community to reuse on their own datasets.
Key facts. Cited by 6 papers in the map (data through 7 Oct 2026). First posted on arXiv 29 Jun 2021.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 1; 2022: 0; 2023: 4; 2024: 1.
6 papers.
- 2023Large Language Models for Software Engineering: A Systematic Literature Reviewcited by 389
- 2023CrossCodeBench: Benchmarking Cross-Task Generalization of Source Code Modelscited by 16
- 2021End to End Software Engineering Researchcited by 2
- 2023INSPECT: Intrinsic and Systematic Probing Evaluation for Code Transformerscited by 2
- 2023Measuring Improvement of F1-Scores in Detection of Self-Admitted Technical Debtcited by 1
- 2024An Approach for Auto Generation of Labeling Functions for Software Engineering Chatbotscited by 0
- 2024An Approach for Auto Generation of Labeling Functions for Software Engineering Chatbots9 Oct 2024
- 2023INSPECT: Intrinsic and Systematic Probing Evaluation for Code Transformers8 Dec 2023
- 2023Large Language Models for Software Engineering: A Systematic Literature Review21 Aug 2023
- 2023Measuring Improvement of F1-Scores in Detection of Self-Admitted Technical Debt16 Mar 2023
- 2023CrossCodeBench: Benchmarking Cross-Task Generalization of Source Code Models8 Feb 2023
- 2021End to End Software Engineering Research22 Dec 2021