Title :
Temporal analysis of API usage concepts
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. 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.
Keywords :
application program interfaces; data mining; software reusability; API usage concepts; API usage pattern detection; application programming interfaces; client change history; client program; software development; software reuse; temporal API usage pattern mining; temporal analysis; Application programming interfaces; Availability; Data mining; Documentation; History; Joining processes; Principal component analysis; API Usability; API Usage; Mining Software Repositories; Software Reuse; Usage Pattern;
Conference_Titel :
Software Engineering (ICSE), 2012 34th International Conference on
Conference_Location :
Zurich
Print_ISBN :
978-1-4673-1066-6
Electronic_ISBN :
0270-5257
DOI :
10.1109/ICSE.2012.6227138