Login | Register

Empirical Studies of Android API Usage: Suggesting Related API Calls and Detecting License Violations.

Title:

Empirical Studies of Android API Usage: Suggesting Related API Calls and Detecting License Violations.

Azad, Shams Abubakar (2015) Empirical Studies of Android API Usage: Suggesting Related API Calls and Detecting License Violations. Masters thesis, Concordia University.

[img]
Preview
Text (application/pdf)
Azad_MSc_S2015.pdf - Accepted Version
866kB

Abstract

We mine the API method calls used by Android App developers to (1)suggest related API calls based on the version history of Apps, (2) suggest related API calls based on StackOverflow posts, and (3) find potential App copyright and license vio- lations based the similarity of API calls made by them.
Zimmermann et al suggested that �Programmers who changed these functions also changed� functions that could be mined from previous groupings of functions found in the version history of a system. Our first contribution is to expand this approach to a community of Apps. Android developers use a set of API calls when creating Apps. These API methods are used in similar ways across multiple applications. Clustering co-changing API methods used by 230 Android Apps, we are able to predict the changes to API methods that individual App developers will make to their application with an average precision of 73% and recall of 25%.
Our second contribution can be characterized as �Programmers who discussed these functions were also interested in these functions.� Informal discussion on Stack- Overflow provides a rich source of related API methods as developers provide solu- tions to common problems. Clustering salient API methods in the same highly ranked posts, we are able to create rules that predict the changes App developers will make with an average precision of 64% and recall of 15%.
Our last contribution is to find out whether proprietary Apps copy code from open source Apps, thereby violating the open source license. We have provided a set of techniques that determines how similar two Apps are based on the API calls they make. These techniques include android API calls matching, API calls coverage, App categories, Method/Class clusters and released size of Apps. To validate this approach we conduct a case study of 150 open source project and 950 proprietary projects.

Divisions:Concordia University > Gina Cody School of Engineering and Computer Science > Computer Science and Software Engineering
Item Type:Thesis (Masters)
Authors:Azad, Shams Abubakar
Institution:Concordia University
Degree Name:M. Comp. Sc.
Program:Computer Science
Date:10 April 2015
Thesis Supervisor(s):Rigby, Dr. Peter C.
ID Code:979917
Deposited By: SHAMS AZAD
Deposited On:13 Jul 2015 15:44
Last Modified:18 Jul 2019 15:12
All items in Spectrum are protected by copyright, with all rights reserved. The use of items is governed by Spectrum's terms of access.

Repository Staff Only: item control page

Downloads per month over past year

Research related to the current document (at the CORE website)
- Research related to the current document (at the CORE website)
Back to top Back to top