跳到主要导航 跳到搜索 跳到主要内容

Efficiently manifesting asynchronous programming errors in android apps

  • Lingling Fan
  • , Guozhu Meng
  • , Ting Su*
  • , Yang Liu
  • , Geguang Pu
  • , Sen Chen
  • , Lihua Xu
  • *此作品的通讯作者
  • East China Normal University
  • Nanyang Technological University
  • NYU-ECNU Center for Computational Chemistry at NYU Shanghai

科研成果: 书/报告/会议事项章节会议稿件同行评审

摘要

Android, the #1 mobile app framework, enforces the single-GUI-thread model, in which a single UI thread manages GUI rendering and event dispatching. Due to this model, it is vital to avoid blocking the UI thread for responsiveness. One common practice is to offload long-running tasks into async threads. To achieve this, Android provides various async programming constructs, and leaves developers themselves to obey the rules implied by the model. However, as our study reveals, more than 25% apps violate these rules and introduce hard-to-detect, fail-stop errors, which we term as aysnc programming errors (APEs). To this end, this paper introduces APEChecker, a technique to automatically and efficiently manifest APEs. The key idea is to characterize APEs as specific fault patterns, and synergistically combine static analysis and dynamic UI exploration to detect and verify such errors. Among the 40 real-world Android apps, APEChecker unveils and processes 61 APEs, of which 51 are confirmed (83.6% hit rate). Specifically, APEChecker detects 3X more APEs than the state-of-art testing tools (Monkey, Sapienz and Stoat), and reduces testing time from half an hour to a few minutes. On a specific type of APEs, APEChecker confirms 5X more errors than the data race detection tool, EventRacer, with very few false alarms.

源语言英语
主期刊名ASE 2018 - Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering
编辑Christian Kastner, Marianne Huchard, Gordon Fraser
出版商Association for Computing Machinery, Inc
486-497
页数12
ISBN(电子版)9781450359375
DOI
出版状态已出版 - 3 9月 2018
活动33rd IEEE/ACM International Conference on Automated Software Engineering, ASE 2018 - Montpellier, 法国
期限: 3 9月 20187 9月 2018

丛书

姓名ASE 2018 - Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering

会议

会议33rd IEEE/ACM International Conference on Automated Software Engineering, ASE 2018
国家/地区法国
Montpellier
时期3/09/187/09/18

学术指纹

探究 'Efficiently manifesting asynchronous programming errors in android apps' 的科研主题。它们共同构成独一无二的学术指纹。

引用此