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 :
بازگشت