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.
期刊介绍:
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.