Skip to content Skip to navigation
Pre-Defense
6/10/2015 10:00 am
CoRE A(Room 301)

Detecting Similarities in Mobile Apps and Platform Artifacts

Amruta Gokhale, Rutgers University

Defense Committee: Prof. Vinod Ganapathy (Chair), Prof. Alex Borgida, Prof. Santosh Nagarakatte and Dr. Pratyusa Manadhata (HP Labs)

Abstract

The availability and use of mobile apps has increased significantly in recent years. Two dominant mobile platform providers, Apple and Google, have over one million apps each in their app markets. Such huge number of available apps gives rise to problems in managing app repositories. Also, a peculiar set of challenges is faced by the large community of mobile app developers.

We develop novel solutions to two problems in the space of mobile apps. The first problem is that of fragmentation of mobile app development across multiple platforms. To accelerate the native development of same app across multiple platforms, mobile app developers need tools to better navigate across different platforms. The second problem is that of keeping app repositories free of plagiarized apps. It is in the best interest of users, developers as well as app repository owners to get rid of plagiarized apps in the app markets, which often carry malicious software with them, and thus pose a threat.

Every mobile app interacts with the platform, taking advantage of the functionalities exposed by the platform. The behavior of an app can be described at a high level in terms of its interaction with the underlying platform. By monitoring the app and collecting such interaction in the form of API method invocations, we can record its high level behavior. We use this observation to build two new tools. The first tool provides assistance in cross-platform mobile app development. The second tool detects plagiarized mobile apps in app repositories. The proposed techniques intercept the interactions between mobile apps and the underlying platform and utilize the interactions to infer likely resemblances between two mobile platform APIs or between mobile apps.