Font Size: a A A

Efficient And Deterministic Replay For Web-enabled Mobile Applications

Posted on:2019-11-16Degree:MasterType:Thesis
Country:ChinaCandidate:F G YanFull Text:PDF
GTID:2428330590967486Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Mobile application developers use Web techniques to improve development agility and application compatibility.Deterministic replay is used to reproduce program execution and help developers debug web applications.Existing Web replay tools require a specific runtime environment,such as a modified Web rendering engine,which makes them unsuitable for practical use.In addition,the touchscreen of the mobile device requires the replay tools to replay a large number of input events in a short time,posing challenges for controlling the replay timing.However,these existing tools lack an effective mechanism to ensure the replay timing precision.This paper designs and implements a deterministic replay tool named Timely Rep,which supports Web components of mobile platforms.Timely Rep records the non-deterministic sources that occur in Android Web View component,and deterministically replay these nondeterministic sources to reproduce the program states.During the recording phase,Timely Rep records the non-deterministic sources that affect the program state.Timely Rep use a network proxy to record the network traffic of Web View,and wrap the Web APIs to record message loop and non-deterministic function.During the replaying phase,Timely Rep replays these nondeterministic sources in order.To achieve high timing precision,Timely Rep schedules replay according to the recording time.High-precision replay can be used not only to reproduce application errors and conduct automated testing,but also to help developers tune application performance and discover time-related vulnerabilities.The main contributions of this paper include:· This paper proposes an interval-sensitive multi-priority scheduling algorithm.The priority,advantages and disadvantages of each scheduling method are analyzed.To control the replay timing,Timely Rep adopts different scheduling method according to the scheduling interval.In addition,Timely Rep use pre-fetching optimization technique to improve the replay timing precision.· This paper proposes a mechanism to record and deterministically replay the network traffic inside the application.By implementing a network proxy inside the application,Timely Rep can be used on real devices without modifying the operating system or installing additional software.· Based on the above methods,Timely Rep is designed and implemented.Timely Rep can deterministically replay the Web contents in Android Web View with high fidelity and high timing precision.Besides,Timely Rep has good compatibility and supports for cross-device replay.In this paper,we evaluate TimelyRep by recording and replaying eight web apps and two gaming apps on 6 different mobile devices.The correctness of Timely Rep and the effectiveness of the above proposed methods are verified by the evaluation results.Timely Rep reproduces the race condition bugs in these applications.And compared with the existing replay tools,the precision of Timely Rep's replay timing is improved by 2 to 6 times.
Keywords/Search Tags:Deterministic Replay, Mobile Web Component, Software Testing
PDF Full Text Request
Related items