An Exploratory Literature Study on Sharing and Energy Use of Language Models for Source Code
Not on the map. Why?
Abstract (arXiv)
Large language models trained on source code can support a variety of software development tasks, such as code recommendation and program repair. Large amounts of data for training such models benefit the models' performance. However, the size of the data and models results in long training times and high energy consumption. While publishing source code allows for replicability, users need to repeat the expensive training process if models are not shared. The main goal of the study is to investigate if publications that trained language models for software engineering (SE) tasks share source code and trained artifacts. The second goal is to analyze the transparency on training energy usage. We perform a snowballing-based literature search to find publications on language models for source code, and analyze their reusability from a sustainability standpoint. From 494 unique publications, we identified 293 relevant publications that use language models to address code-related tasks. Among them, 27% (79 out of 293) make artifacts available for reuse. This can be in the form of tools or IDE plugins designed for specific tasks or task-agnostic models that can be fine-tuned for a variety of downstream tasks. Moreover, we collect insights on the hardware used for model training, as well as training time, which together determine the energy consumption of the development process. We find that there are deficiencies in the sharing of information and artifacts for current studies on source code models for software engineering tasks, with 40% of the surveyed papers not sharing source code or trained artifacts. We recommend the sharing of source code as well as trained artifacts, to enable sustainable reproducibility. Moreover, comprehensive information on training times and hardware configurations should be shared for transparency on a model's carbon footprint.
Key facts. Cited by 1 paper in the map (data through 7 Oct 2026). Builds on 76 of its 129 references that are in the map. First posted on arXiv 5 Jul 2023.
Builds on
76 of 129 references.
References · 76
- 2020Language Models are Few-Shot Learnerscited by 32,199
- 2021Evaluating Large Language Models Trained on Codecited by 8,053
- 2013Distributed Representations of Words and Phrases and their Compositionalitycited by 3,462
- 2022BLOOM: A 176B-Parameter Open-Access Multilingual Language Modelcited by 1,968
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
- 2019Energy and Policy Considerations for Deep Learning in NLPcited by 1,242
- 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 890
- 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 732
- 2019VideoBERT: A Joint Model for Video and Language Representation Learningcited by 702
- 2019Green AIcited by 620
- 2020GraphCodeBERT: Pre-training Code Representations with Data Flowcited by 600
- 2019Quantifying the Carbon Emissions of Machine Learningcited by 516
38 more
- 2021Unified Pre-training for Program Understanding and Generationcited by 361
- 2020Improving Reproducibility in Machine Learning Research (A Report from the NeurIPS 2019 Reproducibility Program)cited by 318
- 2022Estimating the Carbon Footprint of BLOOM, a 176B Parameter Language Modelcited by 264
- 2020Unsupervised Translation of Programming Languagescited by 262
- 2018code2vec: Learning Distributed Representations of Codecited by 249
- 2020Towards the Systematic Reporting of the Energy and Carbon Footprints of Machine Learningcited by 246
- 2020IntelliCode Compose: Code Generation Using Transformercited by 225
- 2018code2seq: Generating Sequences from Structured Representations of Codecited by 177
- 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 144
- 2020Deep Learning based Vulnerability Detection: Are We There Yet?cited by 142
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
- 2020Improved Code Summarization via a Graph Neural Networkcited by 79
- 2023A Systematic Review of Green AIcited by 77
- 2020Contrastive Code Representation Learningcited by 76
- 2021CoSQA: 20,000+ Web Queries for Code Search and Question Answeringcited by 74
- 2018A Retrieve-and-Edit Framework for Predicting Structured Outputscited by 73
- 2021Studying the Usage of Text-To-Text Transfer Transformer to Support Code-Related Taskscited by 70
- 2021DOBF: A Deobfuscation Pre-Training Objective for Programming Languagescited by 68
- 2018DeepBugs: A Learning Approach to Name-based Bug Detectioncited by 65
- 2021Language-Agnostic Representation Learning of Source Code from Structure and Contextcited by 63
- 2019Adversarial Examples for Models of Codecited by 61
- 2021CoTexT: Multi-task Learning with Code-Text Transformercited by 61
- 2021Vulnerability Detection with Fine-grained Interpretationscited by 56
- 2019Pythia: AI-assisted Code Completion Systemcited by 54
- 2020Big Code != Big Vocabulary: Open-Vocabulary Models for Source Codecited by 53
- 2022VulBERTa: Simplified Source Code Pre-Training for Vulnerability Detectioncited by 51
- 2019On Learning Meaningful Code Changes via Neural Machine Translationcited by 50
- 2021Neural Program Repair with Execution-based Backpropagationcited by 50
- 2020LambdaNet: Probabilistic Type Inference using Graph Neural Networkscited by 44
- 2018CODIT: Code Editing with Tree-Based Neural Modelscited by 40
- 2020CC2Vec: Distributed Representations of Code Changescited by 38
- 2020Incorporating External Knowledge through Pre-training for Natural Language to Code Generationcited by 36
- 2021Neural Transfer Learning for Repairing Security Vulnerabilities in C Codecited by 36
- 2020A Systematic Literature Review on the Use of Deep Learning in Software Engineering Researchcited by 35
- 2022SPT-Code: Sequence-to-Sequence Pre-Training for Learning Source Code Representationscited by 35
- 2020Improved Automatic Summarization of Subroutines via Attention to File Contextcited by 34
- 2022StructCoder: Structure-Aware Transformer for Code Generationcited by 33
- 2021ProphetNet-X: Large-Scale Pre-training Models for English, Chinese, Multi-lingual, Dialog, and Code Generationcited by 31
50 most cited of 76 All 76 (JSON)
Built on by
Citing papers per year: 2024: 1.
1 paper.
- 2024Agent-Driven Automatic Software Improvementcited by 1
- 2024Agent-Driven Automatic Software Improvement24 Jun 2024