Documenting frameworks using patterns
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Data mining library reuse patterns using generalized association rules
Proceedings of the 22nd international conference on Software engineering
Code web: data mining library reuse patterns
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
SPRINT: A Scalable Parallel Classifier for Data Mining
VLDB '96 Proceedings of the 22th International Conference on Very Large Data Bases
Predicting Source Code Changes by Mining Change History
IEEE Transactions on Software Engineering
Predicting Change Propagation in Software Systems
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Mining Sequential Patterns by Pattern-Growth: The PrefixSpan Approach
IEEE Transactions on Knowledge and Data Engineering
Helping users avoid bugs in GUI applications
Proceedings of the 27th international conference on Software engineering
Predictors of customer perceived software quality
Proceedings of the 27th international conference on Software engineering
Jungloid mining: helping to navigate the API jungle
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Mining Version Histories to Guide Software Changes
IEEE Transactions on Software Engineering
Hipikat: A Project Memory for Software Development
IEEE Transactions on Software Engineering
Automatic Mining of Source Code Repositories to Improve Bug Finding Techniques
IEEE Transactions on Software Engineering
Toward Understanding the Rhetoric of Small Source Code Changes
IEEE Transactions on Software Engineering
Software Defect Association Mining and Defect Correction Effort Prediction
IEEE Transactions on Software Engineering
CP-Miner: Finding Copy-Paste and Related Bugs in Large-Scale Software Code
IEEE Transactions on Software Engineering
MAPO: mining API usages from open source repositories
Proceedings of the 2006 international workshop on Mining software repositories
XSnippet: mining For sample code
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Expert Systems with Applications: An International Journal
Software evolution in open source projects—a large-scale investigation
Journal of Software Maintenance and Evolution: Research and Practice
Journal of Software Maintenance and Evolution: Research and Practice
Classifying Software Changes: Clean or Buggy?
IEEE Transactions on Software Engineering
Discovering Neglected Conditions in Software by Mining Dependence Graphs
IEEE Transactions on Software Engineering
Change Analysis with Evolizer and ChangeDistiller
IEEE Software
Data mining source code for locating software bugs: A case study in telecommunication industry
Expert Systems with Applications: An International Journal
Improved estimation of software project effort using multiple additive regression trees
Expert Systems with Applications: An International Journal
Toward an understanding of bug fix patterns
Empirical Software Engineering
SpotWeb: Detecting Framework Hotspots and Coldspots via Mining Open Source Code on the Web
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Hi-index | 12.05 |
We apply data mining to source code projects to guide developers through related API usage patterns: ''Developers who code the program statement also code...'' Given a set of source code files, the mined association rules suggest related code snippets to form the components of object-oriented programs. The mined sequential rules predict likely additional API sequences within a method. After an initial program statement is given, our MACs prototype can correctly predict useful related API code snippets. In our evaluation, we present two studies investigating the usefulness of MACs in software development tasks. One study evaluated the utility of MACs's association pattern recommendations. The other evaluated usefulness of sequential pattern recommendations, and both drew from a sample of eight source code projects from SourceForge.net. Our experimental evaluation shows that MACs has significant potential to assist developers, especially API newcomers, and provides an alternative method for code reuse.