Confessions of a used program salesman: institutionalizing software reuse
Confessions of a used program salesman: institutionalizing software reuse
Reengineering class hierarchies using concept analysis
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Dynamically discovering likely program invariants to support program evolution
Proceedings of the 21st international conference on Software engineering
Knowledge Discovery in Databases
Knowledge Discovery in Databases
Data Mining: An Overview from a Database Perspective
IEEE Transactions on Knowledge and Data Engineering
Fast Algorithms for Mining Association Rules in Large Databases
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
Mining Generalized Association Rules
VLDB '95 Proceedings of the 21th International Conference on Very Large Data Bases
Data Mining Library Reuse Patterns in User-Selected Applications
ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
Identification of Data Cohesive Subsystems Using Data Mining Techniques
ICSM '98 Proceedings of the International Conference on Software Maintenance
Code web: data mining library reuse patterns
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
XSearch: A Neural Network Based Tool for Components Search in a Distributed Object Environment
DEXA '01 Proceedings of the 12th International Conference on Database and Expert Systems Applications
CVSSearch: Searching through Source Code using CVS Comments
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Mining Version Histories to Guide Software Changes
Proceedings of the 26th International Conference on Software Engineering
Predicting Source Code Changes by Mining Change History
IEEE Transactions on Software Engineering
Using structural context to recommend source code examples
Proceedings of the 27th international conference on Software engineering
Mining Version Histories to Guide Software Changes
IEEE Transactions on Software Engineering
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
Maximal Association Rules: A Tool for Mining Associations in Text
Journal of Intelligent Information Systems
MAPO: mining API usages from open source repositories
Proceedings of the 2006 international workshop on Mining software repositories
Supporting change request assignment in open source development
Proceedings of the 2006 ACM symposium on Applied computing
FrUiT: IDE support for framework understanding
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
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Mining API patterns as partial orders from source code: from usage scenarios to specifications
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Comprehending implementation recipes of framework-provided concepts through dynamic analysis
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Hierarchical Clustering for Software Architecture Recovery
IEEE Transactions on Software Engineering
An approach to mining call-usage patternswith syntactic context
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Mining framework usage changes from instantiation code
Proceedings of the 30th international conference on Software engineering
On evaluating recommender systems for API usages
Proceedings of the 2008 international workshop on Recommendation systems for software engineering
Software Engineering
Mining exception-handling rules as sequence association rules
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Do developers search for source code examples using multiple facts?
SUITE '09 Proceedings of the 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation
Api hyperlinking via structural overlap
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Learning from examples to improve code completion systems
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Graph-based mining of multiple object usage patterns
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
MAPO: Mining and Recommending API Usage Patterns
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
ICSP'08 Proceedings of the Software process, 2008 international conference on Making globally distributed software development a success story
Using traits of web macro scripts to predict reuse
Journal of Visual Languages and Computing
Mining source codes to guide software development
ACIIDS'10 Proceedings of the Second international conference on Intelligent information and database systems: Part I
MACs: Mining API code snippets for code reuse
Expert Systems with Applications: An International Journal
Large-scale, AST-based API-usage analysis of open-source Java projects
Proceedings of the 2011 ACM Symposium on Applied Computing
Recommending API methods based on identifier contexts
Proceedings of the 3rd International Workshop on Search-Driven Development: Users, Infrastructure, Tools, and Evaluation
Experiences with text mining large collections of unstructured systems development artifacts at jpl
Proceedings of the 33rd International Conference on Software Engineering
A personal ontology model for library recommendation system
ICADL'06 Proceedings of the 9th international conference on Asian Digital Libraries: achievements, Challenges and Opportunities
Comparison and evaluation of source code mining tools and techniques: A qualitative approach
Intelligent Data Analysis
Hi-index | 0.00 |
In this paper, we show how data mining can be used to discover library reuse patterns in existing applications. Specifically, we consider the problem of discovering library classes and member functions that are typically reused in combination by application classes. This paper improves upon our earlier research using “association rules” [8] by taking into account the inheritance hierarchy using “generalized association rules”. This turns out to be a non-trivial but worthwhile endeavor.By browsing generalized association rules, a developer can discover patterns in library usage in a way that takes into account inheritance relationships. For example, such a rule might tell us that application classes that inherit from a particular library class often instantiate another class or one of its descendents. We illustrate the approach using our tool, CodeWeb, by demonstrating characteristic ways in which applications reuse classes in the KDE application framework.