Abstract:
Software libraries and frameworks, consisting of a collection of Class and Interface de nitions,
provide a mechanism for code reuse by providing methods, APIs, components (generic functionality)
and a support structure for developers to build applications, products and solutions.
KitKat, Jelly Bean, Ice Cream Sandwich, Honeycomb and Gingerbread are di erent versions
(open-source) of Android, one of the most popular mobile platforms in the world. In this thesis,
we present the results of our large-scale (consisting of 1; 120 open-source applications and 17:4
million lines of code) API usage analysis of Android applications. Our work is motivated by
the need to mine actual Android API usage, frequent API call usage patterns and trends to
understand and generate empirical data on how developers are using the mobile platform in
their applications.
Extracting popular and frequently-invoked methods, API packages and API call-usage patterns
is useful to both the API Producers and API Consumers. For example, API Producers can view
the quantitative data on API usage as a feedback from users on the relevance, usability and
applicability of the respective APIs. We conduct a series of experiments on analysing the Android
platform API usage (usage of di erent packages, usage of methods, usage across categories) and
present the results of our analysis using graphs such as Bubble Chart, Radar Chart, Heat-Map
for effective visualization of the results and for extraction of actionable information.