July 22, 2019
Supervisor: Ahmed Hassan
Chair: Parvin Mousavi
Internal External Examiner : Thomas Dean (ECE)
Internal Examiner: Yuan TianThesis Title:
Studying the Integration Practices and the Evolution of Ad Libraries in the Google Play StoreThesis Abstract:
In-app advertisements have become a major revenue source for millions of developers in the mobile app economy. To gain ad revenue, app developers integrate ad libraries into their apps. Such libraries are integrated to serve advertisements (ads). App developers display these ads inside their apps and gain revenue based on the displayed ads and the interaction of users with such ads. As a result, ad libraries have become an essential part of the mobile app ecosystem.
However, little is known about how app developers integrate these libraries with their apps and how these libraries have evolved over time.
In this thesis, we study the ad library integration practices and the evolution of such libraries. To study the practices of integrating ad libraries we analyze 35,462 updates of the 1,840 top free-to-download apps of the Google Play Store over a period of 18 months. We manually study the apps and derive a set of rules to automatically identify four strategies for integrating multiple ad libraries. We observe that integrating multiple ad libraries commonly occurs in apps with a large number of downloads and ones in categories with a high percentage of apps that display ads. We also observe that app developers prefer to manage their own integrations instead of using off the shelf features of ad libraries for integrating multiple ad libraries.
To study the evolution of ad libraries, we conduct a longitudinal study of the 8 most popular ad libraries over a period of 33 months (from April 2016 until December 2018). In particular, we look at their evolution in terms of size, the main drivers for releasing a new ad library version, and their architecture. We observe that ad libraries are continuously evolving with a median release interval of 34 days. Some ad libraries have grown exponentially in size (e.g., Facebook Audience Network ad library), while other libraries have worked to reduce their size. To study the main drivers for releasing an ad library version, we manually study the release notes of the eight studied ad libraries. We observe that ad library developers continuously update their ad libraries to support a wider range of Android versions (i.e., to ensure that more devices can use the libraries without errors). Finally, we derive a reference architecture for ad libraries and study how the studied ad libraries diverged from this architecture during our study period.
Our findings can assist ad library developers to understand the challenges for developing ad libraries and the desired features of these libraries. In addition, our derived reference architecture can guide developers who wish to build or evolve their ad libraries