DocumentCode
2442187
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
fYear
2012
fDate
2-9 June 2012
Firstpage
804
Lastpage
814
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering (ICSE), 2012 34th International Conference on
Conference_Location
Zurich
ISSN
0270-5257
Print_ISBN
978-1-4673-1066-6
Electronic_ISBN
0270-5257
Type
conf
DOI
10.1109/ICSE.2012.6227138
Filename
6227138
Link To Document