Title :
Analyzing temporal API usage patterns
Author :
Uddin, Gias ; Dagenais, Barthélémy ; Robillard, Martin P.
Author_Institution :
Sch. of Comput. Sci., McGill Univ., Montréal, QC, Canada
Abstract :
Software reuse through Application Programming Interfaces (APIs) is an integral part of software development. As developers write client programs, their understanding and usage of APIs change over time. Can we learn from long-term changes in how developers work with APIs in the lifetime of a client program? We propose Temporal API Usage Mining to detect significant changes in API usage. We describe a framework to extract detailed models representing addition and removal of calls to API methods over the change history of a client program. We apply machine learning technique to these models to semi-automatically infer temporal API usage patterns, i.e., coherent addition of API calls at different phases in the life-cycle of the client program.
Keywords :
application program interfaces; data mining; software reusability; API calls; application programming interfaces; client program life cycle; software development; software reuse; temporal API usage mining; temporal API usage patterns; Data mining; Documentation; History; Machine learning; Principal component analysis; Programming; Software; API Usability; API Usage; Mining Software Repositories; Software Reuse; Usage Pattern;
Conference_Titel :
Automated Software Engineering (ASE), 2011 26th IEEE/ACM International Conference on
Conference_Location :
Lawrence, KS
Print_ISBN :
978-1-4577-1638-6
DOI :
10.1109/ASE.2011.6100098