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

IF 6 1区 计算机科学 Q1 COMPUTER SCIENCE, SOFTWARE ENGINEERING
IEEE Transactions on Software Engineering Pub Date : 2026-10-01 Epub Date: 2026-06-18 DOI:10.1109/TSE.2026.3704631
Jingling Sun;Ting Su;Xixian Liang;Jue Wang;Geguang Pu;Zhendong Su
{"title":"Automated Property-Based Fuzzing for Finding Data Manipulation Errors in Android Apps","authors":"Jingling Sun;Ting Su;Xixian Liang;Jue Wang;Geguang Pu;Zhendong Su","doi":"10.1109/TSE.2026.3704631","DOIUrl":null,"url":null,"abstract":"Like many software applications, <italic>data manipulation functionalities</i> (DMFs) are prevalent in Android apps, which perform the common CRUD operations (<italic>create</i>, <italic>read</i>, <italic>update</i>, <italic>delete</i>) 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 <italic>data manipulation errors</i>, DMEs), especially those <italic>non-crashing logic ones</i>, are prevalent but difficult to find. To this end, inspired by property-based testing, we introduce a <italic>property-based fuzzing</i> approach to effectively finding DMEs in Android apps. Our <italic>key</i> idea is that, we randomly interleave different DMFs and other possible events to explore <italic>diverse</i> app states for thorough validation. Specifically, our approach characterizes DMFs in (data) model-based properties and leverages the consistency between the data model and the UI layouts as the handler to do property checking. DMFs are automatically identified by analyzing execution traces that exhibit common DMF characteristics, enabling the synthesis of DMF properties across apps. To support the application of our approach, we implemented an automated GUI testing tool, <sc>PBFDroid+</small>. In evaluation, <sc>PBFDroid+</small> automatically identified 146 correct and unique DMFs in 20 real-world apps with an accuracy of 92.4%. Based on these DMFs, it further detected 32 unique and previously unknown bugs in these apps. Out of the 32 bugs, 23 are non-crashing logic bugs, and 9 are crash ones. To date, 24 have been confirmed, of which 15 have already been fixed. Many of these bugs are non-trivial and lead to different types of app failures. Our further evaluation confirms that <italic>none</i> of the 23 non-crashing DMEs can be found by the state-of-the-art techniques. Overall, <sc>PBFDroid+</small> enables precise and automated discovery of non-trivial DMEs by automatically identifying DMFs and verifying their properties. We have made all the artifacts publicly available at: <uri>https://zenodo.org/records/19951139</uri>.","PeriodicalId":13324,"journal":{"name":"IEEE Transactions on Software Engineering","volume":"52 10","pages":"2875-2893"},"PeriodicalIF":6.0000,"publicationDate":"2026-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Transactions on Software Engineering","FirstCategoryId":"94","ListUrlMain":"https://ieeexplore.ieee.org/document/11570133/","RegionNum":1,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2026/6/18 0:00:00","PubModel":"Epub","JCR":"Q1","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0

Abstract

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, we randomly interleave different DMFs and other possible events to explore diverse app states for thorough validation. Specifically, our approach characterizes DMFs in (data) model-based properties and leverages the consistency between the data model and the UI layouts as the handler to do property checking. DMFs are automatically identified by analyzing execution traces that exhibit common DMF characteristics, enabling the synthesis of DMF properties across apps. To support the application of our approach, we implemented an automated GUI testing tool, PBFDroid+. In evaluation, PBFDroid+ automatically identified 146 correct and unique DMFs in 20 real-world apps with an accuracy of 92.4%. Based on these DMFs, it further detected 32 unique and previously unknown bugs in these apps. Out of the 32 bugs, 23 are non-crashing logic bugs, and 9 are crash ones. To date, 24 have been confirmed, of which 15 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 23 non-crashing DMEs can be found by the state-of-the-art techniques. Overall, PBFDroid+ enables precise and automated discovery of non-trivial DMEs by automatically identifying DMFs and verifying their properties. We have made all the artifacts publicly available at: https://zenodo.org/records/19951139.
用于在Android应用程序中查找数据操作错误的自动基于属性的模糊测试
像许多软件应用程序一样,数据操作功能(dmf)在Android应用程序中很流行,它执行常见的CRUD操作(创建、读取、更新、删除)来处理特定于应用程序的数据。因此,确保这些dmf的正确性对于许多核心应用程序功能至关重要。然而,与dmf相关的错误(称为数据操作错误,DMEs),尤其是那些不会导致崩溃的逻辑错误,非常普遍,但很难发现。为此,受基于属性的测试的启发,我们引入了一种基于属性的模糊测试方法来有效地在Android应用程序中找到dme。我们的关键思想是,我们随机穿插不同的dmf和其他可能的事件来探索不同的应用状态,以进行彻底的验证。具体来说,我们的方法在基于(数据)模型的属性中描述dmf的特征,并利用数据模型和UI布局之间的一致性作为处理程序来进行属性检查。通过分析显示常见DMF特征的执行轨迹来自动识别DMF,从而实现跨应用程序的DMF属性合成。为了支持我们的方法的应用,我们实现了一个自动化的GUI测试工具,pbdroid +。在评估中,pbdroid +在20个实际应用程序中自动识别146个正确且唯一的dmf,准确率为92.4%。基于这些dmf,它进一步在这些应用程序中检测到32个独特的和以前未知的错误。在32个bug中,23个是非崩溃的逻辑bug, 9个是崩溃的。到目前为止,已经确认了24个,其中15个已经确定。其中许多漏洞都很重要,会导致不同类型的应用失败。我们进一步的评估证实,用最先进的技术无法找到23个未坠毁的dme。总体而言,pbdroid +通过自动识别dmf并验证其属性,可以精确和自动地发现非平凡的dme。我们已经在https://zenodo.org/records/19951139上公开提供了所有的工件。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering 工程技术-工程:电子与电气
CiteScore
9.70
自引率
10.80%
发文量
724
审稿时长
6 months
期刊介绍: IEEE Transactions on Software Engineering seeks contributions comprising well-defined theoretical results and empirical studies with potential impacts on software construction, analysis, or management. The scope of this Transactions extends from fundamental mechanisms to the development of principles and their application in specific environments. Specific topic areas include: a) Development and maintenance methods and models: Techniques and principles for specifying, designing, and implementing software systems, encompassing notations and process models. b) Assessment methods: Software tests, validation, reliability models, test and diagnosis procedures, software redundancy, design for error control, and measurements and evaluation of process and product aspects. c) Software project management: Productivity factors, cost models, schedule and organizational issues, and standards. d) Tools and environments: Specific tools, integrated tool environments, associated architectures, databases, and parallel and distributed processing issues. e) System issues: Hardware-software trade-offs. f) State-of-the-art surveys: Syntheses and comprehensive reviews of the historical development within specific areas of interest.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书