一句话:通过静态分析千余款 Android 应用的 HTTP 请求,实证评估移动应用中预取与缓存的可行性与机会。
移动应用中的网络延迟严重影响用户体验。浏览器中预取与缓存能有效降低延迟,但因网络交互差异无法直接用于移动应用,且缺乏相关研究。本文对 1,000 多款热门 Android 应用的 HTTP 请求开展实证研究,利用静态程序分析评估请求的可预取性,并分析响应的可缓存性。结果表明移动应用中存在大量预取与缓存机会,但适用技术必须考虑应用网络交互特性及不可信 HTTP 头等问题。该研究为开发者提供利用预取与缓存的指南,并推动后续研究。
Network latency in mobile software has a large impact on user experience, with potentially severe economic consequences. Prefetching and caching have been shown effective in reducing the latencies in browser-based systems. However, those techniques cannot be directly applied to the emerging domain of mobile apps because of the differences in network interactions. Moreover, there is a lack of research on prefetching and caching techniques that may be suitable for the mobile app domain, and it is not clear whether such techniques can be effective or whether they are even feasible. This paper takes the first step toward answering these questions by conducting a comprehensive study to understand the characteristics of HTTP requests in over 1,000 popular Android apps. Our work focuses on the prefetchability of requests using static program analysis techniques and cacheability of resulting responses. We find that there is a substantial opportunity to leverage prefetching and caching in mobile apps, but that suitable techniques must take into account the nature of apps’ network interactions and idiosyncrasies such as untrustworthy HTTP header information. Our observations provide guidelines for developers to utilize prefetching and caching schemes in app development, and motivate future research in this area.
@inproceedings{paperbot4771,
title = {Empirically assessing opportunities for prefetching and caching in mobile apps},
author = {Yixue Zhao and Paul Wat and Marcelo Schmitt Laser and Nenad Medvidović},
booktitle = {ASE},
year = {2018},
doi = {10.1145/3238147.3238215}
}