On the naturalness of software
By Abram Hindle, Earl T. Barr, Zhendong Su, Mark Gabel, Premkumar T. Devanbu. 2016
292 citations recorded by the source corpus.
Subfields: Information Systems, Software, Code Generation & Program Synthesis, Program Analysis & Verification
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Information Systems
- Charles Sutton
- Miltiadis Allamanis
- Michael Pradel
- Earl T. Barr
- Vincent J. Hellendoorn
- Koushik Sen
- Premkumar T. Devanbu
- Rishabh Singh
In Software
- Charles Sutton
- Michael Pradel
- Miltiadis Allamanis
- Premkumar T. Devanbu
- Earl T. Barr
- Koushik Sen
- Vincent J. Hellendoorn
- Rishabh Singh
In Code Generation & Program Synthesis
- Charles Sutton
- Miltiadis Allamanis
- Michael Pradel
- Premkumar T. Devanbu
- Vincent J. Hellendoorn
- Rishabh Singh
- Ge Li
- Earl T. Barr
In Program Analysis & Verification
- Charles Sutton
- Michael Pradel
- Miltiadis Allamanis
- Petros Maniatis
- Earl T. Barr
- Koushik Sen
- Rishabh Singh
- Jibesh Patra
Citations in the corpus
- The adverse effects of code duplication in machine learning models of code (2018, methodology): “Language models have been used for autocompletion [14, 15, 20, 24] and it would be unreasonable to assume that the true distribution of this particular use cases contains duplicate code.”
- A Survey of Machine Learning for Big Code and Naturalness (2017, methodology): “[88] PD (c) Token n-gram Code Completion”
- Learning to Mine Aligned Code and Natural Language Pairs from Stack Overflow (2018, background): “…researchers to expand from models of source code and natural language (NL) created using hand-crafted rules, which have a long history [23], to data-driven models that have proven flexible, relatively easy-to-create, and often more effective than corresponding hand-crafted precursors [13, 27].”
- An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translation (2018, methodology): “e code base at the time of the change. Repair approaches based on the redundancy assumption are called redundancy-based repair techniques, since they leverage redundancy and repetition in source code [7, 12, 18, 30, 51, 60, 65, 90]. For example, GenProg [20, 21, 45] searches for statement-level modi”
- Learning to Fuzz: Application-Independent Fuzz Testing with Probabilistic, Generative Models of Input Data (2016, methodology): “Corpus Analysis and Statistical Models Based on the observation that source code can be treated similarly to natural language documents [22], several statistical language models for programs have been proposed, e.”
- Deep Learning to Find Bugs (2017, background): “, in the form of publicly available code repositories, and that source code has regularities even across projects written by different developers [17].”
- Global Relational Models of Source Code (2020, methodology): “Initial representations of source code relied on sequential models from natural-language processing, such as n-gram language models (Hindle et al., 2012; Allamanis & Sutton, 2013; Hellendoorn & Devanbu, 2017) and Recurrent Neural Networks (RNNs) (White et al.”
- Patching as Translation: the Data and the Metaphor (2020, unknown): ““natural" [14], viz.”
- Mining idioms from source code (2014, methodology): “in practice we nd that it converges too slowly to scale to large codebases. Instead we use the type-based MCMC sampler of Liang et al. [32] (details omitted). 4. SAMPLING A TSG FOR CODE Hindle et al. [18] have shown that source code presents some of the characteristics of natural language. Haggis ex”
- Multi-task Learning based Pre-trained Language Model for Code Completion (2020, methodology): “v assumption is proposed to address this challenge, where the probability of a token is dependent only on the �−1most recent tokens. N-gram based models have been generally applied to code completion [17, 19, 46]. These models have been proved to capture the repetitive regularities in the source cod”
- Neural Code Completion (2017, background): “Existing approaches that build probabilistic models for code can typically be categorized as n-gram models (Hindle et al., 2012; Nguyen et al., 2013; Tu et al., 2014), probabilistic grammars (Collins, 2003; Allamanis & Sutton, 2014; Allamanis et al.”