Detecting object usage anomalies
By Andrzej Wasylkowski, Andreas Zeller, Christian Lindig. 2007
279 citations recorded by the source corpus.
Subfields: Information Systems, Management Information Systems, Software, 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 Information Systems
- Charles Sutton
- Premkumar T. Devanbu
- Tien Nhut Nguyen
- Miltiadis Allamanis
- Anh Tuan Nguyen
- Vincent J. Hellendoorn
- Baishakhi Ray
- Swarat Chaudhuri
In Management Information Systems
- Tien Nhut Nguyen
- C. Jermaine
- Vijayaraghavan Murali
- Swarat Chaudhuri
- Hoan Anh Nguyen
- Mark Gabel
- Zhendong Su
- Hamid Reza Shahriari
In Software
- Tien Nhut Nguyen
- Charles Sutton
- Premkumar T. Devanbu
- Anh Tuan Nguyen
- Miltiadis Allamanis
- Vincent J. Hellendoorn
- Swarat Chaudhuri
- C. Jermaine
In Program Analysis & Verification
- Premkumar T. Devanbu
- Tien Nhut Nguyen
- Charles Sutton
- Anh Tuan Nguyen
- Vincent J. Hellendoorn
- Hoan Anh Nguyen
- Hamid Reza Shahriari
- Seyed Mohammad Ghaffarian
Citations in the corpus
- 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].”
- Bugram: Bug detection with n-gram language models (2016, methodology): “, JADET [50], Tikanga [49], and GrouMiner [32].”
- Finding Likely Errors with Bayesian Specifications (2017, methodology): “There is prior work on using learned models of executions in anomaly detection (Wasylkowski et al. 2007; Monperrus et al. 2010; Hangal & Lam 2002; Chilimbi & Ganapathy 2006; Baah et al. 2006; Gao et al. 2007; Fu et al. 2009; Wang et al. 2016a).”
- A Large-Scale Study on Repetitiveness, Containment, and Composability of Routines in Open-Source Projects (2016, methodology): “Deterministic pattern mining methods are used, e.g., mining frequent pairs, subsequences [60, 4, 61], item sets [13], subgraphs [52, 15], association rules [37].”
- Graph-based mining of multiple object usage patterns (2009, methodology): “Compared to existing representations for object usages [1, 4], groums are able to handle multiple interplaying objects, with usage orders, control structures, and data relations among objects’ actions.”
- Learning API Usages from Bytecode: A Statistical Approach (2015, methodology): “JADET [41] extracted a usage model as a set of partial order pairs of method calls.”
- Synthesizing API usage examples (2012, background): “[36] adapted static specification mining techniques to learn common, but not required, methodcall sequences.”
- Javert: fully automatic mining of general temporal properties from dynamic traces (2008, methodology): “[28], uses a static analysis to extract simple partial orders on function call sequences.”
- Improving bug detection via context-based code representation learning and attention-based neural networks (2019, methodology): “There exist machine learning-based bug detection approaches, including the deep learning techniques [Pradel and Sen 2018] and traditional machine learning techniques [Engler et al. 2001; Li and Zhou 2005; Liang et al. 2016; Wang et al. 2016a,b; Wasylkowski et al. 2007].”
- 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.”
- Software Vulnerability Analysis and Discovery Using Machine-Learning and Data-Mining Techniques (2017, methodology): “Wasylkowski et al. (2007) reassert the fact that interacting with objects often requires following a model or protocol, which are not always documented, and violations can lead to defects.”
- Bayesian specification learning for finding API usage errors (2017, methodology): “There is prior work on using learned models of executions in anomaly detection [10, 19, 22, 23, 28, 38, 52, 54].”
- Checking app behavior against app descriptions (2014, methodology): “Before using K-means, we experimented with formal concept analysis to detect related concepts of topics and features [25] without successful results; the analysis was overwhelmed by the number of apps and features.”
- On the "Naturalness" of Buggy Code (2015, methodology): “mine usage models from code to detect anomalies and violations in methods invoked on objects and demonstrated that these can be used to detect software defects [54].”