DocumentCode
700355
Title
Mining Multi-level API Usage Patterns
Author
Saied, Mohamed Aymen ; Benomar, Omar ; Abdeen, Hani ; Sahraoui, Houari
Author_Institution
DIRO, Univ. de Montreal, Montreal, ON, Canada
fYear
2015
fDate
2-6 March 2015
Firstpage
23
Lastpage
32
Abstract
Software developers need to cope with complexity of Application Programming Interfaces (APIs) of external libraries or frameworks. However, typical APIs provide several thousands of methods to their client programs, and such large APIs are difficult to learn and use. An API method is generally used within client programs along with other methods of the API of interest. Despite this, co-usage relationships between API methods are often not documented. We propose a technique for mining Multi-Level API Usage Patterns (MLUP) to exhibit the co-usage relationships between methods of the API of interest across interfering usage scenarios. We detect multi-level usage patterns as distinct groups of API methods, where each group is uniformly used across variable client programs, independently of usage contexts. We evaluated our technique through the usage of four APIs having up to 22 client programs per API. For all the studied APIs, our technique was able to detect usage patterns that are, almost all, highly consistent and highly cohesive across a considerable variability of client programs.
Keywords
application program interfaces; data mining; software libraries; MLUP; application programming interface; multilevel API usage pattern mining; Clustering algorithms; Context; Documentation; Graphical user interfaces; Java; Layout; Security; API Documentation; API Usage; Software Clustering; Usage Pattern;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Analysis, Evolution and Reengineering (SANER), 2015 IEEE 22nd International Conference on
Conference_Location
Montreal, QC
Type
conf
DOI
10.1109/SANER.2015.7081812
Filename
7081812
Link To Document