Automatically verifying and reproducing event-based races in android apps

Yongjian Hu, Iulian Neamtiu, Arash Alavi

Research output: Chapter in Book/Report/Conference proceedingConference contribution

33 Scopus citations

Abstract

Concurrency has been a perpetual problem in Android apps, mainly due to event-based races. Several event-based race detectors have been proposed, but they produce false positives, cannot reproduce races, and cannot distinguish between benign and harmful races. To address these issues, we introduce a race verification and reproduction approach named ERVA. Given a race report produced by a race detector, ERVA uses event dependency graphs, event flipping, and replay to verify the race and determine whether it is a false positive, or a true positive; for true positives, ERVA uses state comparison to distinguish benign races from harmful races. ERVA automatically produces an event schedule that can be used to deterministically reproduce the race, so developers can fix it. Experiments on 16 apps indicate that only 3% of the races reported by race detectors are harmful, and that ERVA can verify an app in 20 minutes on average.

Original languageEnglish (US)
Title of host publicationISSTA 2016 - Proceedings of the 25th International Symposium on Software Testing and Analysis
EditorsAbhik Roychoudhury, Andreas Zeller
PublisherAssociation for Computing Machinery, Inc
Pages377-388
Number of pages12
ISBN (Electronic)9781450343909
DOIs
StatePublished - Jul 18 2016
Event25th International Symposium on Software Testing and Analysis, ISSTA 2016 - Saarbrucken, Germany
Duration: Jul 18 2016Jul 20 2016

Publication series

NameISSTA 2016 - Proceedings of the 25th International Symposium on Software Testing and Analysis

Other

Other25th International Symposium on Software Testing and Analysis, ISSTA 2016
Country/TerritoryGermany
CitySaarbrucken
Period7/18/167/20/16

All Science Journal Classification (ASJC) codes

  • Software

Keywords

  • Event flipping
  • Event-based races
  • Google android
  • Happens-before relation
  • Race verification

Fingerprint

Dive into the research topics of 'Automatically verifying and reproducing event-based races in android apps'. Together they form a unique fingerprint.

Cite this