Publication: Systematic asynchrony bug exploration for android apps
dc.contributor.coauthor | Emmi, Michael | |
dc.contributor.department | N/A | |
dc.contributor.department | Department of Mechanical Engineering | |
dc.contributor.kuauthor | Özkan, Burcu Külahcıoğlu | |
dc.contributor.kuauthor | Taşıran, Serdar | |
dc.contributor.kuprofile | PhD Student | |
dc.contributor.kuprofile | Faculty Member | |
dc.contributor.other | Department of Mechanical Engineering | |
dc.contributor.schoolcollegeinstitute | Graduate School of Sciences and Engineering | |
dc.contributor.schoolcollegeinstitute | College of Engineering | |
dc.contributor.yokid | N/A | |
dc.contributor.yokid | N/A | |
dc.date.accessioned | 2024-11-09T23:22:55Z | |
dc.date.issued | 2015 | |
dc.description.abstract | Smartphone and tablet “apps” are particularly susceptible to asynchrony bugs. In order to maintain responsive user interfaces, events are handled asynchronously. Unexpected schedules of event handlers can result in apparently-random bugs which are notoriously difficult to reproduce, even given the user-event sequences that trigger them. We develop the AsyncDroid tool for the systematic discovery and reproduction of asynchrony bugs in Android apps. Given an app and a user-event sequence, AsyncDroid systematically executes alternate schedules of the same asynchronous event handlers, according to a programmable schedule enumerator. The input user-event sequence is given either by user interaction, or can be generated by automated UI “monkeys”. By exposing and controlling the factors which influence the scheduling order of asynchronous handlers, our programmable enumerators can explicate reproducible schedules harboring bugs. By enumerating all schedules within a limited threshold of reordering, we maximize the likelihood of encountering asynchrony bugs, according to prevailing hypotheses in the literature, and discover several bugs in Android apps found in the wild. | |
dc.description.indexedby | WoS | |
dc.description.indexedby | Scopus | |
dc.description.openaccess | YES | |
dc.description.publisherscope | International | |
dc.description.volume | 9206 | |
dc.identifier.doi | 10.1007/978-3-319-21690-4_28 | |
dc.identifier.eissn | 1611-3349 | |
dc.identifier.isbn | 978-3-319-21690-4 | |
dc.identifier.isbn | 978-3-319-21689-8 | |
dc.identifier.issn | 0302-9743 | |
dc.identifier.quartile | Q4 | |
dc.identifier.scopus | 2-s2.0-84951032623 | |
dc.identifier.uri | http://dx.doi.org/10.1007/978-3-319-21690-4_28 | |
dc.identifier.uri | https://hdl.handle.net/20.500.14288/11156 | |
dc.identifier.wos | 364182900028 | |
dc.keywords | Computer science, hardware and architecture | |
dc.keywords | Computer Science, software engineering | |
dc.keywords | Computer Science, theory and methods | |
dc.keywords | Logic | |
dc.language | English | |
dc.publisher | Springer-Verlag Berlin | |
dc.source | Computer Aided Verification, Pt I | |
dc.subject | Computer science | |
dc.subject | Hardware and architecture | |
dc.subject | Software engineering | |
dc.subject | Logic | |
dc.title | Systematic asynchrony bug exploration for android apps | |
dc.type | Conference proceeding | |
dspace.entity.type | Publication | |
local.contributor.authorid | 0000-0002-7038-165X | |
local.contributor.authorid | N/A | |
local.contributor.kuauthor | Özkan, Burcu Külahcıoğlu | |
local.contributor.kuauthor | Taşıran, Serdar | |
relation.isOrgUnitOfPublication | ba2836f3-206d-4724-918c-f598f0086a36 | |
relation.isOrgUnitOfPublication.latestForDiscovery | ba2836f3-206d-4724-918c-f598f0086a36 |