PR-Miner: automatically extracting implicit programming rules and detecting violations in large software code
By Zhenmin Li, Yuanyuan Zhou. ESEC/FSE-13, 2005
534 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Information Systems, Software
View Paper: https://www.semanticscholar.org/paper/5eab6c72ba39e0fea5c3aac0c2f5f9cc0a03eb0c
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Charles Sutton
- Premkumar T. Devanbu
- Jiawei Han
- Jaroslav M. Fowkes
- Miltiadis Allamanis
- Tien Nhut Nguyen
- Hong Cheng
- Jian Pei
In Information Systems
- Charles Sutton
- Premkumar T. Devanbu
- Miltiadis Allamanis
- Tien Nhut Nguyen
- Jaroslav M. Fowkes
- Vincent J. Hellendoorn
- Anh Tuan Nguyen
- Baishakhi Ray
In Software
- Charles Sutton
- Premkumar T. Devanbu
- Tien Nhut Nguyen
- Miltiadis Allamanis
- Chanchal Kumar Roy
- Vincent J. Hellendoorn
- James R. Cordy
- Swarat Chaudhuri
Citations in the corpus
- Frequent pattern mining: current status and future directions (2007, methodology): “PR-Miner (Li and Zhou 2005) uses frequent pattern mining to extract application-specific programming rules from source code.”
- Software Vulnerability Analysis and Discovery Using Machine-Learning and Data-Mining Techniques (2017, background): “Some notable works suffering from high false-positive rates include (Li and Zhou 2005; Wasylkowski et al. 2007; Chang et al. 2008).”
- Classifying Software Changes: Clean or Buggy? (2008, background): “Similarly, PR-Miner mines common call sequences from a code snapshot and then marks all noncommon call patterns as potential bugs [24].”
- Bayesian specification learning for finding API usage errors (2017, background): “Most efforts in this area [6–8, 21, 25, 35, 42, 48, 55–57] focus on qualitative specifications, typically finite automata.”
- Javert: fully automatic mining of general temporal properties from dynamic traces (2008, background): “2 Other Specification Miners Li and Zhou constructed an analysis, PR-Miner, that makes use of frequent itemset mining to find highly correlated function calls [18].”
- Software Vulnerability Detection Using Deep Neural Networks: A Survey (2020, background): “Early studies such as [29], [57], [124], and [111] applied rules derived from the experience of knowl-edgeable individuals as “templates” for detecting potential buggy/vulnerable code that did not conform to programming guidelines or best practices.”
- Intelligent Code Completion with Bayesian Networks (2015, background): “Li and Zhou also use association rule mining for PR-Miner [Li and Zhou 2005].”
- MAPO: Mining and Recommending API Usage Patterns (2009, unknown): “Some approaches [19] [20] [24] [37] mine association rules among method calls.”
- Finding Likely Errors with Bayesian Specifications (2017, background): “Most efforts in this area (Ammons et al. 2002, 2003; Zhong et al. 2009; Li & Zhou 2005; Ernst et al. 1999; Nimmer & Ernst 2002; Weimer & Necula 2005; Alur et al. 2005; Goues & Weimer 2009; Shoham et al. 2007; Whaley et al. 2002) focus on qualitative specifications, typically finite automata.”
- MAPO: mining API usages from open source repositories (2006, methodology): “[14] Z. Li and Y. Zhou.”
- Have things changed now?: an empirical study of bug characteristics in modern open source software (2006, methodology): “Since knowledge about the target system is critical for avoiding and detecting such semantic bugs, these results suggest that it would be beneficial to develop techniques to automatically extract specifications from programs, similar to Daikon [15] and our previous work [24].”
- Understanding and detecting real-world performance bugs (2012, background): “Energy efficiency: Increasing energy costs provide a powerful economic argument for avoiding performance bugs.”
- Merlin: specification inference for explicit information flow problems (2009, background): “In particular, Engler et al. [3] infer speci.cations from code by seeking rules that involve action pairs: malloc paired with free, lock paired with unlock, etc. Li and Zhou [13] and Livshits and Zimmerman [16] look at more general patternsinvolving action pairsby combining data mining technique”
- On the "Naturalness" of Buggy Code (2015, background): “Others [51, 32] can automatically infer rules by mining existing software; they raise warnings if violations of the rules occur.”
- Parameter-Free Probabilistic API Mining at GitHub Scale (2015, background): “Other API mining papers include Uddin et al. [32] who detect API usage patterns in terms of their time of introduction into client programs and Li et al. [20] who automatically extract implicit programming rules in large software code.”
- Parameter-free probabilistic API mining across GitHub (2015, background): “[38] who detect API usage patterns in terms of their time of introduction into client programs and Li and Zhou [22] who automatically extract implicit programming rules in large software code.”