Mining source code repositories at massive scale using language modeling
By Miltiadis Allamanis, Charles Sutton. 2013
392 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Information Systems, Natural Language Processing
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Percy Liang
- Graham Neubig
- Mohit Bansal
- Luke S. Zettlemoyer
- Miltiadis Allamanis
- Jianfeng Gao
- Quoc V. Le
- Charles Sutton
In Information Systems
- Miltiadis Allamanis
- Charles Sutton
- Premkumar T. Devanbu
- Michael Pradel
- Vincent J. Hellendoorn
- Eran Yahav
- Uri Alon
- Rishabh Singh
In Natural Language Processing
- Miltiadis Allamanis
- Charles Sutton
- Omer Levy
- Graham Neubig
- Eran Yahav
- Uri Alon
- Premkumar T. Devanbu
- Luke S. Zettlemoyer
Citations in the corpus
- Program Synthesis with Large Language Models (2021, methodology): “Early work applied statistical n-gram models [Hindle et al., 2012, Allamanis and Sutton, 2013a] and neural networks [Maddison and Tarlow, 2014, Raychev et al., 2014] to code.”
- The adverse effects of code duplication in machine learning models of code (2018, methodology): “neural language model. Unknown tokens are counted as incorrect when computing accuracy and MRR. We also compute focused metrics on identifiers since they have been proven to be the hardest to predict [4, 9, 20]. We note that we also computed the fully biased ( ) metrics and on average, the NLM’s per”
- A Survey of Machine Learning for Big Code and Naturalness (2017, background): “Although TSGs have been used in NLP to improve parsing performance (which is ambiguous in text), Allamanis and Sutton [12] observe that the inferred fragments represent common code usage conventions and name them idioms.”
- CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation (2021, methodology): “We use two influential datasets, PY150[57] in python and Github Java Corpus[1] in Java.”
- Measuring Coding Challenge Competence With APPS (2021, methodology): “Allamanis and Sutton (2013) introduce the GitHub Java Corpus used for performing language modeling on Java code.”
- Structured Generative Models of Natural Source Code (2014, background): “We previously mentioned Hindle et al. (2012) and Allamanis and Sutton (2013), which tackle the same task as us but with simple NLP models.”
- A Parallel Corpus of Python Functions and Documentation Strings for Automated Code Documentation and Code Generation (2017, background): “Source code can be collected by scraping open source repositories from code hosting services such as GitHub1 (Allamanis and Sutton, 2013; Bhoopchand et al., 2016), but the main difficulty is finding natural language annotations that document the code in sufficient detail.”
- code2vec: learning distributed representations of code (2018, background): “…Context-Free Grammars [Allamanis and Sutton 2014; Bielik et al. 2016; Gvero and Kuncak 2015; Maddison and Tarlow 2014], n-grams [Allamanis et al. 2014; Allamanis and Sutton 2013; Hindle et al. 2012; Nguyen et al. 2013; Raychev et al. 2014] have been used for programming languages in the past.”
- JuICe: A Large Scale Distantly Supervised Dataset for Open Domain Context-based Code Generation (2019, methodology): “t the first large scale dataset containing over 1.5M source code cells paired with a sequence of NL and code cells that represents past exploratory interactions. Although various large scale datasets (Allamanis and Sutton, 2013, 2014; Allamanis et al., 2016; Iyer et al., 2018) to study code generatio”
- Big Code != Big Vocabulary: Open-Vocabulary Models for Source Code (2020, methodology): “[6], also used in [41].”
- Learning to Fix Build Errors with Graph2Diff Neural Networks (2019, background): “ficult problem [21]. Using pointers, the machine learning component can predict both where and how to fix. Finally, thecopy mechanism addresses the well-known out-of-vocabulary problem of source code [5, 16, 17]: source code projects often include projectspecific identifiers that do not occur in the”
- Automated Correction for Syntax Errors in Programming Assignments using Recurrent Neural Networks (2016, methodology): “Allamanis et al. [3] applied this technique of learning n-gram models on a much larger code corpus containing over 350 million lines of code, and showed that using a large corpus for training these n-gram model can significantly increase their predictive capabilities.”
- NIRMAL: Automatic identification of software relevant tweets leveraging language model (2015, background): “Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/ republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component…”
- Syntax errors just aren't natural: improving error reporting with language models (2014, background): “One possible solution to the new identifier problem is to ignore identifier content and train on the type of the identifier lexeme itself [1].”
- Neural Networks for Modeling Source Code Edits (2018, methodology): “There are source code models based on n-grams (Hindle et al., 2012; Allamanis & Sutton, 2013), grammars (Allamanis & Sutton, 2014), neural networks (Raychev et al., 2014; White et al., 2015; Ling et al., 2016; Bhoopchand et al., 2016), and combinations of the two (Maddison & Tarlow, 2014; Yin &…”
- Parameter-free probabilistic API mining across GitHub (2015, methodology): “Dataset In order to asses the performance of PAM and perform a thorough comparison with MAPO and UPMiner we assemble a data set of target libraries and frameworks from the GitHub Java corpus [6].”
- PLUR: A Unifying, Graph-Based View of Program Learning, Understanding, and Repair (2021, background): “Furthermore, code tokens follow a power-law distribution due to many rare identifiers, and exhibit high rate of repetition across files and projects [Allamanis and Sutton, 2013, Casalnuovo et al., 2019].”