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

Property-Based Fuzzing for Finding Data Manipulation Errors in Android Apps

  • Jingling Sun
  • , Ting Su*
  • , Jiayi Jiang
  • , Jue Wang
  • , Geguang Pu*
  • , Zhendong Su
  • *此作品的通讯作者
  • East China Normal University
  • Nanjing University
  • Swiss Federal Institute of Technology Zurich

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

摘要

Like many software applications, data manipulation functionalities( DMFs ) are prevalent in Android apps, which perform the common CRUD operations (create, read, update, delete) to handle app-specific data. Thus, ensuring the correctness of these DMFs is fundamentally important for many core app functionalities. However, the bugs related to DMFs (named as data manipulation errors, DMEs ), especially those non-crashing logic ones, are prevalent but difficult to find. To this end, inspired by property-based testing, we introduce a property-based fuzzing approach to effectively finding DMEs in Android apps. Our key idea is that, given some type of app data of interest, we randomly interleave its relevant DMFs and other possible events to explore diverse app states for thorough validation. Specifically, our approach characterizes DMFs in (data) model-based properties and leverage the consistency between the data model and the UI layouts as the handler to do property checking. The properties of DMFs are specified by human according to specific app features. To support the application of our approach, we implemented an automated GUI testing tool, PBFDroid. We evaluated PBFDroid on 20 real-world Android apps, and successfully found 30 unique and previously unknown bugs in 18 apps. Out of the 30 bugs, 29 of which are DMEs (22 are non-crashing logic bugs, and 7 are crash ones). To date, 19 have been confirmed and 9 have already been fixed. Many of these bugs are non-trivial and lead to different types of app failures. Our further evaluation confirms that none of the 22 non-crashing DMEs can be found by the state-of-the-art techniques. In addition, a user study shows that the manual cost of specifying the DMF properties with the assistance of our tool is acceptable. Overall, given accurate DMF properties, our approach can automatically find DMEs without any false positives. We have made all the artifacts publicly available at:https:// github.com/ property-based-fuzzing/ home.

源语言英语
主期刊名ESEC/FSE 2023 - Proceedings of the 31st ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering
编辑Satish Chandra, Kelly Blincoe, Paolo Tonella
出版商Association for Computing Machinery, Inc
1088-1100
页数13
ISBN(电子版)9798400703270
DOI
出版状态已出版 - 30 11月 2023
活动31st ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2023 - San Francisco, 美国
期限: 3 12月 20239 12月 2023

出版系列

姓名ESEC/FSE 2023 - Proceedings of the 31st ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering

会议

会议31st ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2023
国家/地区美国
San Francisco
时期3/12/239/12/23

指纹

探究 'Property-Based Fuzzing for Finding Data Manipulation Errors in Android Apps' 的科研主题。它们共同构成独一无二的指纹。

引用此