Mining API patterns as partial orders from source code: from usage scenarios to specifications
By Mithun P. Acharya, Tao Xie, Jian Pei, Jun Xu. 2007
281 citations recorded by the source corpus.
Subfields: Computer Networks and Communications, Information Systems, Program Analysis & Verification
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
- Anh Tuan Nguyen
- Charles Sutton
- Tien Nhut Nguyen
- Jaroslav M. Fowkes
- Yang Xiang
- Jun Zhang
- Daniel Zügner
- Qing-Long Han
In Information Systems
- Charles Sutton
- Tien Nhut Nguyen
- Premkumar T. Devanbu
- Anh Tuan Nguyen
- Jaroslav M. Fowkes
- Miltiadis Allamanis
- Michael Pradel
- Zhendong Su
In Program Analysis & Verification
- Charles Sutton
- Tien Nhut Nguyen
- Jaroslav M. Fowkes
- Anh Tuan Nguyen
- Hamid Reza Shahriari
- Seyed Mohammad Ghaffarian
- Tao Xie
- Tung Thanh Nguyen
Citations in the corpus
- Software Vulnerability Detection Using Deep Neural Networks: A Survey (2020, background): “[6] M.”
- What makes a good code example?: A study of programming Q&A in StackOverflow (2012, background): “Some of them use mining technique to locate features [17, 22]; others extract common API usage patterns [1, 2, 30].”
- Learning API Usages from Bytecode: A Statistical Approach (2015, background): “[1] proposed an approach to mine partial orders among APIs.”
- Javert: fully automatic mining of general temporal properties from dynamic traces (2008, background): “Current miners can locate instances of alternating patterns over event pairs [11, 29, 32], resource usage patterns over event triples [14], and precedence protocols [24, 25] and partial orders [1] over pairs of function calls.”
- 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).”
- Graph-Based Statistical Language Model for Code (2015, background): “, mining frequent pairs, subsequences [11], [28], [4], item sets [10], subgraphs [5], [12], associate rules [13].”
- Parameter-Free Probabilistic API Mining at GitHub Scale (2015, background): “[3] extract API usage scenarios among multiple APIs as partial orders.”
- Bugram: Bug detection with n-gram language models (2016, background): “Rule-based bug detection approaches infer likely programming rules from source code [1,4,6,8,23,24, 42, 45, 46, 54], version histories [4, 19, 53], and source code comments [43,44].”
- Software Vulnerability Analysis and Discovery Using Machine-Learning and Data-Mining Techniques (2017, background): “2015) Feature Engineering + Mining Algorithm (Livshits and Zimmermann 2005; Li and Zhou 2005; Wasylkowski et al. 2007; Acharya et al. 2007; Chang et al. 2008; Thummalapenta and Xie 2009)”
- Language-Agnostic Representation Learning of Source Code from Structure and Context (2021, background): “These representations—and their variants like (Mou et al., 2016)—can then be used to predict sequences of identifier sub-tokens (Allamanis et al., 2015) or API calls (Acharya et al., 2007; Nguyen et al., 2017).”
- MAPO: Mining and Recommending API Usage Patterns (2009, methodology): “To mine these frequent method calls, some approaches [27, 34] use existing sequence mining techniques [3], and other approaches [1,10,35,39] adopt various customized techniques.”
- Parameter-free probabilistic API mining across GitHub (2015, background): “…of seeing ( m1 , m2 ) for the 3rd time given that we’ve seen it for the 2nd time”, i.e., p (( m1 , m2 ) [3] ∈ X | ( m1 , m2 ) [2] ∈ X ) = p (( m1 , m2 ) [3] ∈ X | ( m1 , m2 , m1 , m2 ) ∈ X ) (since we are allowing gaps in API patterns and so ( m1 , m2 ) [2] ∈ X = ( m1 , m2 , m1 , m2 ) ∈ X ).”