Learning programs from noisy data
By Veselin Raychev, Pavol Bielik, Martin T. Vechev, Andreas Krause. 2016
168 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
- Miltiadis Allamanis
- Charles Sutton
- Eran Yahav
- Uri Alon
- Swarat Chaudhuri
- Rishabh Singh
- Omer Levy
- Michael Pradel
In Information Systems
- Miltiadis Allamanis
- Charles Sutton
- Michael Pradel
- Eran Yahav
- Uri Alon
- Koushik Sen
- Rishabh Singh
- Earl T. Barr
In Natural Language Processing
- Charles Sutton
- Miltiadis Allamanis
- Michael Pradel
- Uri Alon
- Eran Yahav
- Koushik Sen
- Rishabh Singh
- Swarat Chaudhuri
Citations in the corpus
- The adverse effects of code duplication in machine learning models of code (2018, methodology): “c D( ; ) Method Naming code2vec [6] – Java-Large [5] F1 (%) 44.71 50.98-12.3%46.04 Precision (%) 53.00 58.92-10.5%54.51 Recall (%) 38.67 44.93-13.9%39.85 Variable Naming JSNICE [23] – JavaScript-150k [24] Accuracy (%) 34.44 55.04-37.4%29.41 Code Autocompletion PHOG [9] – JavaScript-150k [24] Accurac”
- A Survey of Machine Learning for Big Code and Naturalness (2017, background): “[164] increase the context by annotating PCFGs with a learned program that uses features from the code.”
- code2vec: learning distributed representations of code (2018, methodology): “The problem of predicting program properties by learning from big code has seen tremendous interest and progress in recent years [Allamanis et al. 2014; Allamanis and Sutton 2013; Bielik et al. 2016; Hindle et al. 2012; Raychev et al. 2016].”
- TerpreT: A Probabilistic Programming Language for Program Induction (2016, background): “Lezama et al., 2005), compilers for low-power spatial architectures (Phothilimthana et al., 2014), efficient compilation of declarative specifications (Kuncak et al., 2010), statistical code completion (Raychev et al., 2016), and automated feedback generation for programming assignments (Singh et al., ”
- DeepBugs: a learning approach to name-based bug detection (2018, methodology): “As a corpus of code, we use 150,000 JavaScript files provided by the authors of earlier work [Raychev et al. 2016b].”
- Finding Likely Errors with Bayesian Specifications (2017, methodology): “The availability of large corpora of open-source code — Big Code (Raychev et al. 2015), in the language of some recent efforts — makes this idea especially appealing.”
- Anything to Hide? Studying Minified and Obfuscated Code in the Web (2019, background): “The regular code examples are a subset of a corpus of 150,000 JavaScript files provided by others [24], which consists of human-written, non-transformed code from opensource projects.”
- Context2Name: A Deep Learning-Based Approach to Infer Natural Variable Names from Usage Contexts (2017, methodology): “We constructed our training and testing corpus using a publicly available data set 3 of JavaScript programs [30].”
- Data-Driven Program Completion (2017, methodology): “Statistical methods such as graphical models (Raychev et al. 2015), language models (Hindle et al. 2012; Nguyen and Nguyen 2015; Raychev et al. 2014) and learning from noisy data (Raychev et al. 2016) have been showed to be quite e ective in inferring program properties and code completion.”
- Code Prediction by Feeding Trees to Transformers (2020, background): “PHOG [11], DeepSyn [35] and Deep3 [34] are particularly related as all of them utilize AST information for code completion.”
- Structural Language Models of Code (2019, background): “Depth-first ordering is a common practice in tree generation (Maddison & Tarlow, 2014; Raychev et al., 2016), but in principle our framework also allows for other orderings.”
- NL2Type: Inferring JavaScript Function Types from Natural Language Information (2019, methodology): “We evaluate NL2Type on a corpus of 162,673 JavaScript files composed of a corpus from prior work [26] and popular JavaScript libraries downloaded from a content-delivery service [27].”
- Bayesian Sketch Learning for Program Synthesis (2017, background): “The most relevant efforts [10, 36, 38] use statistical language models for code completion.”
- Probabilistic model for code with decision trees (2016, methodology): “Similar to the DSL used in DeepSyn [27], the idea of TGEN is to provide means of navigating over trees and accumulating context with values from a given tree.”
- Bayesian specification learning for finding API usage errors (2017, methodology): “The work in this space that is the closest to ours are two methods by Raychev et al. [45, 47], which learn probabilistic models of program behavior from large code corpora, using RNNs among other models.”
- PHOG: Probabilistic Model for Code (2016, methodology): “To mitigate this problem, we use the representative dataset sampling technique (Raychev et al., 2016).”
- Statistical Deobfuscation of Android Applications (2016, background): “Examples of such tasks include machine translation between programming languages [18], statistical code synthesis [32, 30], and predicting names and types in source code [31, 9].”