Date Added: Jan 2012
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 the people learn from long-term changes in how developers work with APIs in the lifetime of a client program? The authors propose Temporal API Usage Mining to detect significant changes in API usage. They describe a framework to extract detailed models representing addition and removal of calls to API methods over the change history of a client program. They 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.