Please use this identifier to cite or link to this item: https://doi.org/10.1145/3377811.3380402
DC FieldValue
dc.titleTime-travel Testing of Android Apps
dc.contributor.authorDong, Zhen
dc.contributor.authorBohme, Marcel
dc.contributor.authorCojocaru, Lucia
dc.contributor.authorAbhik Roychoudhury
dc.date.accessioned2020-07-27T09:50:17Z
dc.date.available2020-07-27T09:50:17Z
dc.date.issued2020-07-10
dc.identifier.citationDong, Zhen, Bohme, Marcel, Cojocaru, Lucia, Abhik Roychoudhury (2020-07-10). Time-travel Testing of Android Apps. ACM/IEEE 42nd International Conference on Software Engineering (ICSE). ScholarBank@NUS Repository. https://doi.org/10.1145/3377811.3380402
dc.identifier.isbn9781450371216
dc.identifier.urihttps://scholarbank.nus.edu.sg/handle/10635/171736
dc.description.abstractAndroid 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 achieve certain objectives such as maximal code coverage. The hope is that the mutation of fit event sequences leads to the generation of even fitter sequences. However, the evolution of event sequences may be ineffective. Our key insight is that pertinent app states which contributed to the original sequence’s fitness may not be reached by a mutated event sequence. The original path through the state space is truncated at the point of mutation. 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-theart search-based/model-based Android testing tools Sapienz and Stoat, both in terms of coverage achieved and crashes found.
dc.publisherACM
dc.sourceElements
dc.typeConference Paper
dc.date.updated2020-07-26T21:23:12Z
dc.contributor.departmentDEPARTMENT OF COMPUTER SCIENCE
dc.description.doi10.1145/3377811.3380402
dc.description.sourcetitleACM/IEEE 42nd International Conference on Software Engineering (ICSE)
dc.description.placeUnited States
dc.published.statePublished
Appears in Collections:Staff Publications
Elements

Show simple item record
Files in This Item:
File Description SizeFormatAccess SettingsVersion 
ICSE20TM.pdfPublished version2.62 MBAdobe PDF

OPEN

PublishedView/Download

Google ScholarTM

Check

Altmetric


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.