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

Detecting non-crashing functional bugs in Android apps via deep-state differential analysis

  • Jue Wang
  • , Yanyan Jiang*
  • , Ting Su
  • , Shaohua Li
  • , Chang Xu
  • , Jian Lu
  • , Zhendong Su
  • *此作品的通讯作者
  • Nanjing University
  • Swiss Federal Institute of Technology Zurich

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

摘要

Non-crashing functional bugs of Android apps can seriously affect user experience. Often buried in rare program paths, such bugs are difficult to detect but lead to severe consequences. Unfortunately, very few automatic functional bug oracles for Android apps exist, and they are all specific to limited types of bugs. In this paper, we introduce a novel technique named deep-state differential analysis, which brings the classical "bugs as deviant behaviors"oracle to Android apps as a generic automatic test oracle. Our oracle utilizes the observations on the execution of automatically generated test inputs that (1) there can be a large number of traces reaching internal app states with similar GUI layouts, and only a small portion of them would reach an erroneous app state, and (2) when performing the same sequence of actions on similar GUI layouts, the outcomes will be limited. Therefore, for each set of test inputs terminating at similar GUI layouts, we manifest comparable app behaviors by appending the same events to these inputs, cluster the manifested behaviors, and identify minorities as possible anomalies. We also calibrate the distribution of these test inputs by a novel input calibration procedure, to ensure the distribution of these test inputs is balanced with rare bug occurrences. We implemented the deep-state differential analysis algorithm as an exploratory prototype Odin and evaluated it against 17 popular real-world Android apps. Odin successfully identified 28 non-crashing functional bugs (five of which were previously unknown) of various root causes with reasonable precision. Detailed comparisons and analyses show that a large fraction (11/28) of these bugs cannot be detected by state-of-the-art techniques.

源语言英语
主期刊名ESEC/FSE 2022 - Proceedings of the 30th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering
编辑Abhik Roychoudhury, Cristian Cadar, Miryung Kim
出版商Association for Computing Machinery, Inc
434-446
页数13
ISBN(电子版)9781450394130
DOI
出版状态已出版 - 7 11月 2022
活动30th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2022 - Singapore, 新加坡
期限: 14 11月 202218 11月 2022

出版系列

姓名ESEC/FSE 2022 - Proceedings of the 30th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering

会议

会议30th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2022
国家/地区新加坡
Singapore
时期14/11/2218/11/22

指纹

探究 'Detecting non-crashing functional bugs in Android apps via deep-state differential analysis' 的科研主题。它们共同构成独一无二的指纹。

引用此