On the localness of software
By Zhaopeng Tu, Zhendong Su, Premkumar T. Devanbu. 2014
287 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Information Systems, Program Analysis & Verification, Signal 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
- Premkumar T. Devanbu
- Graham Neubig
- Rafael-Michael Karampatsis
- Eran Yahav
- Earl T. Barr
- Baishakhi Ray
In Information Systems
- Miltiadis Allamanis
- Charles Sutton
- Premkumar T. Devanbu
- Michael Pradel
- Vincent J. Hellendoorn
- Rafael-Michael Karampatsis
- Earl T. Barr
- Baishakhi Ray
In Program Analysis & Verification
- Miltiadis Allamanis
- Charles Sutton
- Premkumar T. Devanbu
- Earl T. Barr
- Han Liu
- Rafael-Michael Karampatsis
- Romain Robbes
- Hlib Babii
In Signal Processing
- Miltiadis Allamanis
- Charles Sutton
- Premkumar T. Devanbu
- Vincent J. Hellendoorn
- Michael Pradel
- Rafael-Michael Karampatsis
- Eran Yahav
- Han Liu
Citations in the corpus
- Learning to Generate Pseudo-Code from Source Code Using Statistical Machine Translation (T) (2015, neutral): “…this study: MeCab to tokenize Japanese sentences [29], pialign to train word alignments [22], KenLM to train Kneser-Ney smoothed language model [30], Moses to train and generate target sentences using the PBMT model [31], and Travatar to train and generate target sentences using T2SMT models [32].”
- A Convolutional Attention Network for Extreme Summarization of Source Code (2016, background): “Research has mostly focused on tokenlevel (Nguyen et al., 2013; Tu et al., 2014) and syntax-level (Maddison & Tarlow, 2014) language models of code and translation between programming languages (Karaivanov”
- Big Code != Big Vocabulary: Open-Vocabulary Models for Source Code (2020, methodology): “A global LM , trained in a cross-project setting, will perform better if it is adapted to a new project [44, 81].”
- Deep API learning (2016, methodology): “Statistical language models have been adapted to many software engineering tasks [26] such as learning natural code conventions [5], code suggestion [44], and code completion [37].”
- Building Language Models for Text with Named Entities (2018, unknown): “This property is successfully captured by cache based language models (Hellendoorn and Devanbu, 2017; Tu et al., 2014).”
- RepoCoder: Repository-Level Code Completion Through Iterative Retrieval and Generation (2023, methodology): “…often exhibit interrelated dependencies, including shared utilities, configurations, and cross-API in-vocations resulting from modularization (Tu et al., Figure 1: Illustration of the In-File code completion method, the repository-level Retrieval-Augmented Generation (RAG) method, and the iterative”
- Extracting code from programming tutorial videos (2016, background): “[22] show that many of the regularities in humanwritten software are local.”
- To What Extent do Deep Learning-based Code Recommenders Generate Predictions by Cloning Code from the Training Set? (2022, methodology): “The usage of data-driven techniques for code recommendation has its roots in the works exploiting statistical language models, such as n-gram models, to recommend developer with the next code token to write [20, 24, 55].”
- Graph-Based Statistical Language Model for Code (2015, background): “Recent research in SE [1], [14], [15], [16] has shown that ngram language model is useful in capturing fine-grained code patterns to support code suggestion (Code suggestion is the suggestion of a complete code element given a code portion).”
- Towards Better Program Obfuscation: Optimization via Language Models (2016, methodology): “Since software is natural [14], people resort to NLP methods for software engineering tasks, such as code completion [14, 16, 22], API prediction [19] and name suggestion [2, 3, 18].”
- 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.”
- Learning Python Code Suggestion with a Sparse Pointer Network (2016, methodology): “Recently, methods from statistical natural language processing (NLP) have been used to train code suggestion systems from code usage in large code repositories (Hindle et al., 2012; Allamanis & Sutton, 2013; Tu et al., 2014).”
- Multi-task Learning based Pre-trained Language Model for Code Completion (2020, methodology): “It is a classical evaluation measure for code completion and is used in almost all the previous code completion work [17, 19, 27, 41, 46].”
- Maybe Deep Neural Networks are the Best Choice for Modeling Source Code (2019, methodology): “it has extensively been used in related work [6, 22, 37, 40, 58, 69].”
- New Initiative: The Naturalness of Software (2015, methodology): “We have developed an Eclipse plug-in that uses our localityenhanced cache-based language model [23] to provide suggestions.”