CACHECA: A Cache Language Model Based Code Suggestion Tool
By C. Franks, Zhaopeng Tu, Premkumar T. Devanbu, Vincent J. Hellendoorn. 2015
55 citations recorded by the source corpus.
Subfields: Information Systems, Software, Code Generation & Program Synthesis
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
- Rafael-Michael Karampatsis
- Premkumar T. Devanbu
- Vincent J. Hellendoorn
- Earl T. Barr
- Romain Robbes
- Hlib Babii
In Software
- Charles Sutton
- Miltiadis Allamanis
- Premkumar T. Devanbu
- Rafael-Michael Karampatsis
- Vincent J. Hellendoorn
- Earl T. Barr
- Baishakhi Ray
- Alberto Bacchelli
In Code Generation & Program Synthesis
- Charles Sutton
- Miltiadis Allamanis
- Rafael-Michael Karampatsis
- Premkumar T. Devanbu
- Vincent J. Hellendoorn
- Romain Robbes
- Hlib Babii
- Andrea Janes
Citations in the corpus
- A Survey of Machine Learning for Big Code and Naturalness (2017, methodology): “completion.Hindle et al. [88] were the first to use a token-level n-gram LM for this purpose, using the previous n − 1 tokens to represent the completion context at each location. Later, Franks et al. [64], Tu et al. [180] used a cachen-gram LM and further improved the completion performance, showing”
- Learning to Mine Aligned Code and Natural Language Pairs from Stack Overflow (2018, background): “ble to annotate data. 1 INTRODUCTION Recent years have witnessed the burgeoning of a new suite of developer assistance tools based on natural language processing (NLP) techniques, for code completion [9], source code summarization [2], automatic documentation of source code [44], deobfuscation [16, ”
- Big Code != Big Vocabulary: Open-Vocabulary Models for Source Code (2020, methodology): “Precise scoring of code fragments is essential for tasks such as translating a program from one programming language to another [54, 66], code completion [32, 76], and code synthesis from natural language and vice versa [7, 27, 67, 73].”
- 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.,”
- Recovering clear, natural identifiers from obfuscated JS names (2017, methodology): “Given the high degree of repetitiveness in large code corpora, these models can make highly accurate predictions, as shown by tools such as Cacheca [18].”
- Maybe Deep Neural Networks are the Best Choice for Modeling Source Code (2019, methodology): “Precise scoring of code fragments is essential for tasks like translating a program from one programming language to another [45, 56], code completion [29, 64], and code synthesis from natural language and vice versa [7, 14, 23, 25, 57, 61].”
- In-IDE Code Generation from Natural Language: Promise and Challenges (2021, background): “For example, software developers can save keystrokes or avoid writing dull pieces of code [31, 83, 98, 113]; and non-programmers and practitioners in other fields, who require computation in their daily work, can get help with creating data manipulation scripts [36, 60].”
- On the "Naturalness" of Buggy Code (2015, methodology): “Following this work, language models have been used to good effect in code suggestion [22, 48, 53, 15], cross-language porting [38, 37, 39, 24], coding standards [2], idiom mining [3], and code deobfuscation [47].”
- New Initiative: The Naturalness of Software (2015, background): “A companion paper in the demonstrations track at ICSE 2015 describes this tool [6].”
- When Code Completion Fails: A Case Study on Real-World Completions (2019, background): “Many tools that suggest plausible completions of the current token, statement, or even function have been proposed [5]–[8] and are part of most Integrated Development Environments (IDEs).”