Deep learning code fragments for code clone detection
By Martin White, Michele Tufano, Christopher Vendome, Denys Poshyvanyk. 2016
690 citations recorded by the source corpus.
Subfields: Information Systems, Software, Code Generation & Program Synthesis, 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 Information Systems
- Charles Sutton
- Miltiadis Allamanis
- Michael Pradel
- Tien Nhut Nguyen
- Rafael-Michael Karampatsis
- Vincent J. Hellendoorn
- Baishakhi Ray
- Premkumar T. Devanbu
In Software
- Michael Pradel
- Charles Sutton
- Vincent J. Hellendoorn
- Miltiadis Allamanis
- Premkumar T. Devanbu
- Tien Nhut Nguyen
- Lingming Zhang
- Baishakhi Ray
In Code Generation & Program Synthesis
- Charles Sutton
- Miltiadis Allamanis
- Ge Li
- Michael Pradel
- Rafael-Michael Karampatsis
- Baishakhi Ray
- Vincent J. Hellendoorn
- Premkumar T. Devanbu
In Signal Processing
- Michael Pradel
- Charles Sutton
- Ge Li
- Baishakhi Ray
- Saikat Chakraborty
- Rafael-Michael Karampatsis
- Vincent J. Hellendoorn
- Miltiadis Allamanis
Citations in the corpus
- CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation (2021, background): “• code-code (clone detection [65, 84, 46, 80, 9, 89, 86], defect detection [91, 55, 51, 42, 78, 79], cloze test [15], code completion [57, 1, 56, 66, 67, 8, 27, 7], code repair [69, 4, 23, 26, 71, 73], and code-to-code translation [48, 37, 10, 41]) • text-code (natural language code search [32, 20, ”
- SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repair (2018, methodology): “DeepRepair leverages learned code similarities, captured with recursive autoencoders [50], to select repair ingredients from code fragments that are similar to the buggy code.”
- GraphCodeBERT: Pre-training Code Representations with Data Flow (2020, background): “RtvNN (White et al., 2016) trains a recursive autoencoder to learn representations for AST.”
- An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translation (2018, background): “Some examples of recent models that can be used in a number of software engineering tasks include: code completion [67, 91], defect prediction [84], bug localization [39], clone detection [80, 90], code search [23], learning Application Programming Interface (API) sequences [24], recommending method”
- DeepBugs: a learning approach to name-based bug detection (2018, background): “Deep neural networks also help recommend API usages [Gu et al. 2016], detect code clones [White et al. 2016], classify programs into pre-defined categories [Mou et al. 2016], and adapt copied-and-pasted code to its surrounding code [Allamanis and Brockschmidt 2017].”
- Big Code != Big Vocabulary: Open-Vocabulary Models for Source Code (2020, background): “…units is not limited to language modeling, but can easily be incorporated into any neural model of code, such as models to suggest readable names [3], summarizing source code [5, 49], predicting bugs [70], detecting code clones [87], comment generation [47], and variable de-obfuscation [10].”
- Neural Code Comprehension: A Learnable Representation of Code Semantics (2018, methodology): “For the former task, code embeddings have been used to perform function or variable naming [2, 7], clone detection [63], code completion [54, 65], summarization [6], and algorithm classification [49].”
- DeepSim: deep learning code functional similarity (2018, methodology): “We also compared DeepSim with the three other state-of-the-art approaches:DECKARD[26],RtvNN[58]andCDLH[57].”
- Learning a classifier for false positive error reports emitted by static code analysis tools (2017, methodology): “…there have been many studies using statistical language models for handling important software development and maintenance tasks (Nguyen et al. 2013; Tu et al. 2014; Raychev et al. 2014, 2015; Allamanis et al. 2015, 2016; Fowkes and Sutton 2016; Gu et al. 2016; White et al. 2016; Dam et al. 2016).”
- Contrastive Code Representation Learning (2020, methodology): “We address clone detection (White et al., 2016), type inference (Hellendoorn et al., 2018), and summarization (Alon et al., 2019a).”
- Software Defect Prediction via Convolutional Neural Network (2017, methodology): “[43] proposed to model sequential software languages using deep learning and applied their models in the task of code clone detection.”
- Are deep neural networks the best choice for modeling source code? (2017, methodology): “Count Models DL models are now used everywhere, including for modeling of source code [3, 37].”
- HELoC: Hierarchical Contrastive Learning of Source Code Representation (2022, methodology): “Token-Based Models: RtvNN [45] uses an RNN to learn the representations of code tokens and trains a recursive autoencoder to learn AST representations.”
- CoCoNuT: combining context-aware neural translation models using ensemble for program repair (2020, methodology): “Deep Learning in Software Engineering: The software engineering community had applied deep learning to perform various tasks such as defects prediction [40, 79, 81], source code representation [6, 7, 66, 80], source code summarization [4, 22] source code modeling [5, 11, 26, 83], code clone detectio”