Skip to content

Third-party libraries and their impact on Android apps

Notifications You must be signed in to change notification settings

rsain/Android-TPLs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 

Repository files navigation

Android-TPLs

Mobile device applications (apps) are complex mostly because they rely on the integration of multiple third-party libraries (TPLs). TPLs make apps development much more convenient by offering implementations of specific functionality. For example, app developers often use advertising libraries as a source of revenue, integrate social networking libraries to simplify the login process, or include crash reporting tools to monitor crashes in theirs apps. However, there are multiple TPLs with similar functionalities to choose from but developers ignore the impact of these libraries on their apps. The size of apps grow in correlation with the addition and usage of TPLs but they also have an impact on the number of required permissions and the app performance. Thus, TPLs could have a negative impact on the quality of apps.

This repository offers different scripts to ease the comparison of TPLs. Given minimal Android apps integrating TPLs and a playable scenario, developers can collect quality metrics (APK size, number of permissions, energy consumption, and CPU, memory, and network usages) and generate different plots comparing TPLs. This allows developers make informed decisions about the libraries to integrate in their apps. A minimal app is a simple app that includes one TPL. A playable scenario simulates the user interaction exercising a particular TPL functionality.

  • The scripts folder contains bash, python, and R scripts used to (1) collect metrics of minimal apps while playing given scenarios, (2) process metric values, and (3) make the comparison of TPLs for different metrics.

  • The study folder contains (1) the minimal apps and scenarios of three popular TPLs for three popular TPL categories (advertising, analytics, and crash reporting), (2) CSV files with metric values of these TPLs that allow to know the impact of these libraries on Android apps, and (3) CSV files with all the information needed to generate different graphics to ease the comparison of TPLs.

About

Third-party libraries and their impact on Android apps

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published