[PhD Dissertation] Reducing User-Perceived Latency in Mobile Applications via Prefetching and Caching


Prefetching and caching is a fundamental approach to reduce user-perceived latency, and has been shown effective in various domains for decades. However, its application on today’s mobile apps remains largely under-explored. This is an important but overlooked research area since mobile devices have become the dominant platform, and this trend is reflected in the billions of mobile devices and millions of mobile apps in use today. At the same time, user-perceived latency has been shown to have a large impact on mobile-user experience and can cause significant economic consequences. ❧ In this dissertation, I aim to fill this gap by providing a multifaceted solution to establish the foundation for exploring prefetching and caching in the mobile-app domain. To that end, my dissertation consists of four major elements. As a first step, I conducted an extensive study to investigate the opportunities for applying prefetching and caching techniques in mobile apps, providing empirical evidence on their applicability and demonstrating insights to guide future techniques. Second, I developed PALOMA, the first content-based prefetching technique for mobile apps using program analysis, which has achieved significant latency reduction with high accuracy and negligible overhead. Third, I constructed HiPHarness, a tailorable framework for investigating history-based prefetching in a wide range of scenarios. Guided by today’s stringent privacy regulations that have limited the access to mobile-user data, I further leveraged HiPHarness to conduct the first study on history-based prefetching with “small” prediction models, demonstrating its feasibility on mobile platforms and in turn, opening up a new research direction. Finally, to reduce the manual effort required in evaluating prefetching and caching techniques, I have devised FrUITeR, a customizable framework for assessing test-reuse techniques, in order to automatically select suitable test cases for evaluating prefetching and caching techniques without real users’ engagement as required previously.

University of Southern California