Android testing tools generate sequences of input events to exercise the state space of the app-under-test. Existing search-based techniques systematically evolve a population of event sequences so as to reach certain objectives such as maximal code coverage. The hope is that the mutation of fit event sequences leads to the generation of even fitter event sequences. However, such random mutations may truncate the path of the generated sequence through the app’s state space at the point of the first mutated event. States that contributed considerably to the original sequence’s fitness may not be reached by the sequence’s offspring.
In this paper, we propose instead to evolve a population of states which can be captured upon discovery and resumed when needed. The hope is that generating events on a fit program state leads to the transition to even fitter states. For instance, we can quickly deprioritize testing the main screen state which is visited by most event sequences, and instead focus our limited resources on testing more interesting states that are otherwise difficult to reach.
We call our approach time-travel testing because of this ability to travel back to any state that has been observed in the past. We implemented time-travel testing into TimeMachine, a time-travel-enabled version of the successful, automated Android testing tool Monkey. In our experiments on a large number of open- and closed-source Android apps, TimeMachine outperforms the state-of-the-art search-based Android testing tools Sapienz and Stoat, both in terms of coverage achieved and crashes found.
Fri 10 Jul Times are displayed in time zone: (UTC) Coordinated Universal Time change
07:00 - 08:00: I20-Android TestingPaper Presentations / Technical Papers at Goguryeo Chair(s): Shing-Chi CheungDepartment of Computer Science and Engineering, The Hong Kong University of Science and Technology | |||
07:00 - 07:12 Talk | Multiple-Entry Testing of Android Applications by Constructing Activity Launching ContextsTechnical Technical Papers Jiwei YanInstitute of Software, Chinese Academy of Sciences, Hao LiuBeijing University of Technology, Linjie PanInstitute of Software, Chinese Academy of Sciences, Jun YanInstitute of Software, Chinese Academy of Sciences, Jian ZhangInstitute of Software, Chinese Academy of Sciences, Bin LiangRenmin University of China, China | ||
07:12 - 07:24 Talk | Time-travel Testing of Android Apps Technical Papers Zhen DongNational University of Singapore, Marcel BöhmeMonash University, Lucia CojocaruPolitehnica University of Bucharest, Abhik RoychoudhuryNational University of Singapore, Singapore | ||
07:24 - 07:36 Talk | Collaborative Bug Finding for Android AppsTechnical Technical Papers Shin Hwei TanSouthern University of Science and Technology, Ziqiang LiSouthern University of Science and Technology Media Attached File Attached | ||
07:36 - 07:48 Talk | An Empirical Assessment of Security Risks of Global Android Banking AppsTechnical Technical Papers Sen ChenNanyang Technological University, Singapore, Lingling FanNanyang Technological University, Singapore, Guozhu MengInstitute of Information Engineering, Chinese Academy of Sciences, Ting SuETH Zurich, Switzerland, Jason Minhui XueThe University of Adelaide, Yinxing Xue, Yang LiuNanyang Technological University, Singapore, Lihua XuNew York University Shanghai Pre-print | ||
07:48 - 08:00 Talk | RoScript: A Visual Script Driven Truly Non-Intrusive Robotic Testing System for Touch Screen ApplicationsTechnical Technical Papers Ju QianNanjing University of Aeronautics and Astronautics, Zhengyu ShangNanjing University of Aeronautics and Astronautics, Shuoyan YanNanjing University of Aeronautics and Astronautics, Yan Wang, Lin ChenNanjing University |