Graph-based mining of multiple object usage patterns
By Tung Thanh Nguyen, Hoan Anh Nguyen, Nam H. Pham, Jafar M. Al-Kofahi, Tien Nhut Nguyen. ESEC/FSE '09, 2009
307 citations recorded by the source corpus.
Subfields: Computer Networks and Communications, Information Systems, Software
View Paper: https://www.semanticscholar.org/paper/e81d908f98795af66f7246498f29c0bb4b0e992f
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Computer Networks and Communications
- Charles Sutton
- Tien Nhut Nguyen
- Koushik Sen
- Anh Tuan Nguyen
- Sebastian Proksch
- Shaohua Wang
- Yi Li
- Mira Mezini
In Information Systems
- Charles Sutton
- Tien Nhut Nguyen
- Miltiadis Allamanis
- Koushik Sen
- Premkumar T. Devanbu
- Michael Pradel
- Anh Tuan Nguyen
- Sebastian Proksch
In Software
- Charles Sutton
- Miltiadis Allamanis
- Tien Nhut Nguyen
- Koushik Sen
- Michael Pradel
- Premkumar T. Devanbu
- Shaohua Wang
- Yi Li
Citations in the corpus
- Mapping API Elements for Code Migration with Vector Representations (2016, background): “That is, APIs in API usages have high regularities ( i.e., repetitive) as shown in API pattern mining research [16, 23].”
- Aroma: code recommendation via structural code search (2018, methodology): “Pattern-based code completion tools [48]–[50] mine common API usage patterns from a large corpus and use those patterns to recommend code completion for partially written programs as long as the partial program matches a prefix of a mined pattern.”
- Graph-Based Mining of In-the-Wild, Fine-Grained, Semantic Code Change Patterns (2019, methodology): “We create a graph-based program representation that captures the control/data dependencies as in Program-Dependence Graphs (PDGs) and uses the API elements as in Object Usage Graphs (GROUMs) [33].”
- Vulnerability detection with fine-grained interpretations (2021, methodology): “We then ran the sub-graph pattern mining algorithm [25] on G with different thresholds of frequencies and collected different sizes of the sub-graph patterns.”
- Intelligent Code Completion with Bayesian Networks (2015, methodology): “Instead, it seems more promising to extend works on snippet completion to support ordering, like GrouMiner [Nguyen et al. 2009].”
- Synthesizing API usage examples (2012, methodology): “[37] employ a similar approach to mine usage patterns, but across multiple objects.”
- Bugram: Bug detection with n-gram language models (2016, background): “, JADET [50], Tikanga [49], and GrouMiner [32].”
- Learning API Usages from Bytecode: A Statistical Approach (2015, methodology): “propose an automatic technique for mining synthesizing succinct and representative human-readable API examples. Other mining techniques includes mining associate rules [28], item sets [29], subgraphs [3], [30], code idioms [31] etc. One application of usage patterns mined from existing code is to su”
- Automatically Learning Semantic Features for Defect Prediction (2016, background): “It has been shown that pro-grams’ semantic information is useful for tasks such as code completion and bug detection [15,28,44,46,60].”
- Exploring API Embedding for API Usages and Applications (2017, background): “6) Array access: We keep the types of the array, the elements, and the index, e.g., list[1] → String String[]#access Integer#arg .”
- Automatic patch generation learned from human-written patches (2013, methodology): “To reduce manual inspection time, we first gathered similar patches using groums [16].”
- A Large-Scale Study on Repetitiveness, Containment, and Composability of Routines in Open-Source Projects (2016, methodology): “A usage graph [52] is a graph in which the nodes represent API object instantiations, API calls, field accesses, and control points (i.e., branching points of control units, e.g., if , while , for ).”
- Graph-Based Statistical Language Model for Code (2015, methodology): “Our prior work [5] shows that an API usage can be represented by a connected (sub)graph in a Groum.”
- Improving bug detection via context-based code representation learning and attention-based neural networks (2019, methodology): “On the other hand, Exas [Nguyen et al. 2009a] represents source code with a vector by encoding the paths with up to certain lengths in the PDG.”
- Mining idioms from source code (2014, background): “However, this problem is also significantly different from code idiom mining because it tries to mine sequences or graphs [38] of API method calls, usually ignoring most features of the language.”
- Mining Semantic Loop Idioms from Big Code (2016, unknown): “Another related area is API mining (Acharya et al. 2007; Nguyen et al. 2009; Zhong et al. 2009; Wang et al. 2013).”