Skip to main content
notice

Master Thesis Defense: Shams Abubakar Azad

April 10, 2015
|


Speaker: Shams Abubakar Azad

Supervisor: Dr. P. Rigby

Examining Committee: Drs. J. Paquet, N. Tstantalis, V. Haarslev (Chair)

Title: Empirical Studies of Android API Usage: Guiding
          Changes and Detecting License Violations

Date: Friday, April 10, 2015

Time: 11:30

Place: EV 11.119

ABSTRACT

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 solutions 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 matching, API 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.




Back to top

© Concordia University