Learning from examples to improve code completion systems
By Marcel Bruch, Monperrus Martin, Mira Mezini. 2009
425 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Computer Networks and Communications, Information Systems, Evaluation & Benchmarks
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
- Charles Sutton
- Miltiadis Allamanis
- Mohit Bansal
- Jianfeng Gao
- Yoshua Bengio
- Premkumar T. Devanbu
- Graham Neubig
- Percy Liang
In Computer Networks and Communications
- Tien Nhut Nguyen
- Charles Sutton
- Anh Tuan Nguyen
- Alberto Bacchelli
- Premkumar T. Devanbu
- Vincent J. Hellendoorn
- Koushik Sen
- Michael Pradel
In Information Systems
- Charles Sutton
- Miltiadis Allamanis
- Premkumar T. Devanbu
- Michael Pradel
- Rafael-Michael Karampatsis
- Earl T. Barr
- Vincent J. Hellendoorn
- Tien Nhut Nguyen
In Evaluation & Benchmarks
- Charles Sutton
- Miltiadis Allamanis
- Rafael-Michael Karampatsis
- Premkumar T. Devanbu
- Satish Chandra
- Tien Nhut Nguyen
- Michael Pradel
- Anh Tuan Nguyen
Citations in the corpus
- Competition-level code generation with AlphaCode (2022, background): “Therefore, most prior work has been limited to either restricted domain-specific programming languages (Gulwani, 2011) or short code snippets (Bruch et al., 2009; Raychev et al., 2014).”
- A Survey of Machine Learning for Big Code and Naturalness (2017, methodology): “[33] Partial Object Use Invoked Method Localized Code Completion”
- CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation (2021, background): “Similarly, developers who are confused about what to write next can use code completion systems [57, 1, 56, 66, 67, 8, 27, 7] to automatically complete the following tokens based on the edits made to the code.”
- Structured Generative Models of Natural Source Code (2014, methodology): “Indeed, there has been some recent work in this direction, particularly related to mining and suggesting API usage patterns (Bruch et al., 2009; Nguyen et al., 2012; Wang et al., 2013).”
- IntelliCode compose: code generation using transformer (2020, methodology): “A large number of intelligent code completion systems for both statically and dynamically typed languages have been proposed [6, 11, 41, 42].”
- Big Code != Big Vocabulary: Open-Vocabulary Models for Source Code (2020, methodology): “We measure performance with mean reciprocal rank (MRR), as is common in code completion evaluation [17, 41, 76, 81].”
- WILDS: A Benchmark of in-the-Wild Distribution Shifts (2020, neutral): “Code completion models—autocomplete tools used by programmers to suggest subsequent source code tokens, such as the names of API calls—are commonly used to reduce the effort of software development (Robbes & Lanza, 2008; Bruch et al., 2009; Nguyen & Nguyen, 2015; Proksch et al., 2015; Franks et al.,”
- Learning natural coding conventions (2014, background): “Code suggestion and completion tools [18, 35, 52, 53, 62] suggest the next token during editing, often from a few initial characters.”
- Evaluating the evaluations of code recommender systems: A reality check (2016, methodology): “This evaluation technique is similar to the first half evaluation followed by Bruch et al. [2].”
- Large Language Models for Software Engineering: Survey and Open Problems (2023, background): “Even prior to the advent of LLMs, it was suggested that learning from existing code repositories is the key to successful and intelligent code completion [36]: pre-trained LLMs deliver on these early aspirations for code completion.”
- CodeFill: Multi-token Code Completion by Jointly learning from Structure and Naming Sequences (2022, methodology): “Traditionally, autocompleters used heuristic rules static type information [20], similar code examples [9], and program history data [42] for suggesting completions.”
- A statistical semantic language model for source code (2013, methodology): “[2] propose three algorithms to suggest the method call for a variable v based on a codebase.”
- Learning to Fuzz: Application-Independent Fuzz Testing with Probabilistic, Generative Models of Input Data (2016, background): “, to find anomalies that correspond to bugs [36], for code completion [12], to recommend API usages [50], for plagiarism detection [31, 46], and to find copy-paste bugs [29].”
- A Study of "Wheat" and "Chaff" in Source Code (2015, background): “Many diverse, useful tools and strategies exist [5, 24, 25, 32].”