I am a Computing Innovation Fellow (CIFellow) in the College of Information & Computer Sciences at the University of Massachusetts Amherst (UMass), working with Dr. Yuriy Brun. My primary research community is Software Engineering. I enjoy solving important and interesting problems with broad research interests (knowledge has no boundaries, right? :)). My current research focus is listed below. I received my Ph.D. in Computer Science from the University of Southern California (USC), advised by Dr. Nenad Medvidović. Prior to USC, I received my Bachelor’s degree in Software Engineering from the Harbin Institute of Technology (HIT) in China, advised by Dr. Zhongjie Wang (王忠杰).
Outside of work, I enjoy rock climbing, taking random classes, and meditation very much. Check out my misc page for more non-researchy stuff :)
PhD in Computer Science, 2020
University of Southern California, USA
BEng in Software Engineering, 2014
Harbin Institute of Technology, China
[Jun 2021] Our paper Identifying Casualty Changes in Software Patches was accepted to ESEC/FSE 2021!
[May 2021] I've been selected as the finalist for the William F. Ballhaus Jr. Best Dissertation Award (4 finalists in the Viterbi School of Engineering)! I represented Computer Science department at the Best Dissertation Symposium to present my 6-year PhD thesis in 15min! :)
[Mar 2021] Our paper Assessing the Feasibility of Web-Request Prediction Models on Mobile Platforms was accepted to MOBILESoft 2021! With this great news, all the pieces in my Ph.D. Dissertation are published now! YAY :D
[Jan 2021] I have driven across country from Los Angeles to Amherst! I'm starting my new chapter at UMass as a postdoc!
[Dec 2020] Our paper was rejected from ICSE 2021… Heh
see CV for the full list :)
see CV for the full list :)
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.
UI testing is tedious and time-consuming due to the manual effort required. Recent research has explored opportunities for reusing existing UI tests from an app to automatically generate new tests for other apps. However, the evaluation of such techniques currently remains manual, unscalable, and unreproducible, which can waste effort and impede progress in this emerging area. We introduce FrUITeR, a framework that automatically evaluates UI test reuse in a reproducible way. We apply FrUITeR to existing test-reuse techniques on a uniform benchmark we established, resulting in 11,917 test reuse cases from 20 apps. We report several key findings aimed at improving UI test reuse that are missed by existing work.
A large number of mobile-app analysis and instrumentation techniques have emerged in the past decade. However, those techniques’ components are difficult to extract and reuse outside their original tools, their evaluation results are hard to reproduce, and the tools themselves are hard to compare. This paper introduces DECREE, an infrastructure intended to guide such techniques to be reproducible, practical, reusable, and easy to adopt in practice. DECREE allows researchers and developers to easily discover existing solutions to their needs, enables unbiased and reproducible evaluation, and supports easy construction and execution of replication studies. The paper describes DECREE's three modules and its potential to fundamentally alter how research is conducted in this area.
Reducing network latency in mobile applications is an effective way of improving the mobile user experience and has tangible economic benefits. This paper presents PALOMA, a novel client-centric technique for reducing the network latency by prefetching HTTP requests in Android apps. Our work leverages string analysis and callback control-flow analysis to automatically instrument apps using PALOMA's rigorous formulation of scenarios that address “what” and “when” to prefetch. PALOMA has been shown to incur significant runtime savings (several hundred milliseconds per prefetchable HTTP request), both when applied on a reusable evaluation benchmark we have developed and on real applications.