Fast Algorithms for Mining Association Rules in Large Databases
VLDB '94 Proceedings of the 20th 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
Predicting Source Code Changes by Mining Change History
IEEE Transactions on Software Engineering
Mining Version Histories to Guide Software Changes
IEEE Transactions on Software Engineering
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Approximate Structural Context Matching: An Approach to Recommend Relevant Examples
IEEE Transactions on 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
Recommending adaptive changes for framework evolution
Proceedings of the 30th international conference on Software engineering
Introduction to Information Retrieval
Introduction to Information Retrieval
Mining temporal rules for software maintenance
Journal of Software Maintenance and Evolution: Research and Practice - Special Issue on Program Comprehension through Dynamic Analysis (PCODA)
Enabling static analysis for partial java programs
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Improving API documentation usability with knowledge pushing
ICSE '09 Proceedings of the 31st International Conference on 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
Mining trends of library usage
Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops
MAPO: Mining and Recommending API Usage Patterns
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
A Study of the Time Dependence of Code Changes
WCRE '09 Proceedings of the 2009 16th Working Conference on Reverse Engineering
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
TAIC PART'10 Proceedings of the 5th international academic and industrial conference on Testing - practice and research techniques
Using structure-based recommendations to facilitate discoverability in APIs
Proceedings of the 25th European conference on Object-oriented programming
A field study of API learning obstacles
Empirical Software Engineering
Analyzing temporal API usage patterns
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Inferring likely mappings between APIs
Proceedings of the 2013 International Conference on Software Engineering
Diversity in software engineering research
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Hi-index | 0.00 |
Software reuse through Application Programming Interfaces (APIs) is an integral part of software development. The functionality offered by an API is not always accessed uniformly throughout the lifetime of a client program. We propose Temporal API Usage Pattern Mining to detect API usage patterns in terms of their time of introduction into client programs. We detect concepts as distinct groups of API functionality from the change history of a client program. We locate those concepts in the client change history and detect temporal usage patterns, where a pattern contains a set of concepts that were added into the client program in a specific temporal order. We investigated the properties of temporal API usage patterns through a multiple-case study of three APIs and their use in up to 19 client software projects. Our technique was able to detect a number of valuable patterns in two out of three of the APIs investigated. Further investigation showed some patterns to be relatively consistent between clients, produced by multiple developers, and not trivially derivable from program structure or API documentation.