Automatically Learning Semantic Features for Defect Prediction
By Song Wang, Taiyue Liu, Lin Tan. 2016
723 citations recorded by the source corpus.
Subfields: Information Systems, Software, Signal Processing, Software Engineering
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
- Michael Pradel
- Lingming Zhang
- Chun Xia
- Tien Nhut Nguyen
- Hongyu Zhang
- Michele Tufano
- Yi Li
- Shaohua Wang
In Software
- Michael Pradel
- Neel Sundaresan
- Lingming Zhang
- Chun Xia
- Alexey Svyatkovskiy
- Tien Nhut Nguyen
- Shaohua Wang
- Yi Li
In Signal Processing
In Software Engineering
- Jane Cleland-Huang
- Xi Victoria Lin
- Koushik Sen
- Jin L.C. Guo
- Denys Poshyvanyk
- Massimiliano Di Penta
- Sunghun Kim
- Michael Pradel
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, ”
- IntelliCode compose: code generation using transformer (2020, background): “Some of the early applications of machine learning of source code include code search [1, 2], bug detection and localization [3], program synthesis [4], code summarization [5] and code completion [6–10].”
- 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, methodology): “use a deep belief network to find a vector representation of ASTs, which are used for defect prediction [Wang et al. 2016].”
- Semantically Enhanced Software Traceability Using Deep Learning Techniques (2017, methodology): “utilized a deep belief network to extract semantic features from source code for the purpose of defect prediction [69].”
- Software Vulnerability Detection Using Deep Neural Networks: A Survey (2020, methodology): “4) The miscellaneous types: There are some vulnerability detection studies applied to other network structures which do not fit in the aforementioned types such as the deep belief network (DBN) [110] and variational autoencoders (VAEs) [52].”
- <inline-formula><tex-math notation="LaTeX">$\mu$</tex-math><alternatives><mml:math><mml:mi>μ</mml:mi></mml:math><inline-graphic xlink:href="zou-ieq1-2942930.gif"/></alternatives></inline-formula>VulDeePecker: A Deep Learning-Based System for Multiclass Vulnerability Detection (2019, neutral): “VulDeePecker [13] is the first system using deep learning to detect vulnerabilities at slice-level, while noting that there are also related studies on using deep learning for vulnerability discovery at the function level [14], [51], defect prediction [15] and related tasks [16].”
- Learning to Spot and Refactor Inconsistent Method Names (2019, methodology): “Our approach follows the workaround tested by Wang et al. [65] and appends PAD vectors (i.e., zero vectors) to make all vector sizes consistent with the size of the longest one (see Section IV-2 for how to determine the longest one).”
- On Learning Meaningful Code Changes Via Neural Machine Translation (2019, background): “The network then predicts if the commit will be defective [63].”
- A Novel Neural Source Code Representation Based on Abstract Syntax Tree (2019, methodology): “For defect prediction, semantic features are extracted from source code by a deep belief network [60].”
- Deep API learning (2016, background): “A typical application that leverages deep learning is to extract source code features [32, 47].”
- CoCoNuT: combining context-aware neural translation models using ensemble for program repair (2020, methodology): “To remove commits that are not related to bug fixes, we follow previous work [81] and only keep commits that have the keywords “fix,” “bug,” or “patch” in their commit messages.”
- Communicative Agents for Software Development (2023, background): “(4) Software testing is to verify that the software can provide expected behaviors on a set of test cases [42; 40; 43; 39].”
- Deep Code Comment Generation (2018, background): “Several subsequent studies have developed various probabilistic models for different software tasks [12, 23, 40, 41].”
- Deep Learning to Find Bugs (2017, neutral): “use a deep belief network to find a vector representation of ASTs, which are used for defect prediction [41].”
- Learning semantic program embeddings with graph interval neural network (2020, methodology): “Instead, we opt for precision, recall, and F1 score (Equation 18–20 in Appendix K), metrics are commonly used in defect prediction literature (Pradel and Sen 2018; Wang et al. 2016).”
- SySeVR: A Framework for Using Deep Learning to Detect Software Vulnerabilities (2018, methodology): “CNN has been used for software defect prediction [16] and locating buggy source code [51]; DBN has been used for software defect prediction [19], [20]; RNN has been used for vulnerability detection [11], [15], [50], software traceability [12], code clone detection [13], and recognizing functions in ”