Bugs as deviant behavior: a general approach to inferring errors in systems code
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
A method for detecting faulty code violating implicit coding rules
Proceedings of the International Workshop on Principles of Software Evolution
Pattern-Supported Architecture Recovery
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
MSR 2004: International Workshop on Mining Software Repositories
Proceedings of the 26th International Conference on Software Engineering
Group awareness in distributed software development
CSCW '04 Proceedings of the 2004 ACM conference on Computer supported cooperative work
Checking system rules using system-specific, programmer-written compiler extensions
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
DynaMine: finding common error patterns by mining software revision histories
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
MAPO: mining API usages from open source repositories
Proceedings of the 2006 international workshop on Mining software repositories
Mining eclipse for cross-cutting concerns
Proceedings of the 2006 international workshop on Mining software repositories
Fine-grained processing of CVS archives with APFEL
eclipse '06 Proceedings of the 2006 OOPSLA workshop on eclipse technology eXchange
Comparing Approaches to Mining Source Code for Call-Usage Patterns
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Detecting object usage anomalies
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
An approach to mining call-usage patternswith syntactic context
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Automatic inference of stationary fields: a generalization of java's final fields
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of Software Maintenance and Evolution: Research and Practice
MAPO: Mining and Recommending API Usage Patterns
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Alattin: mining alternative patterns for defect detection
Automated Software Engineering
Comparison and evaluation of source code mining tools and techniques: A qualitative approach
Intelligent Data Analysis
Hi-index | 0.00 |
One of the most successful applications of static analysis based bug finding tools is to search the source code for violations of system-specific rules. These rules may describe how functions interact in the code, how data is to be validated or how an API is to be used. To apply these tools, the developer must encode a rule that must be followed in the source code. The difficulty is that many of these system-specific rules are undocumented and "grow" over time as the source code changes. Most research in this area relies on expert programmers to document these little-known rules. In this paper we discuss a method to automatically recover a subset of these rules, function usage patterns, by mining the software repository. We present a preliminary study that applies our work to a large open source software project.