skip to main content
10.1145/3611643.3616286acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

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

Published:30 November 2023Publication History

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, 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.

References

  1. Christoffer Quist Adamsen, Gianluca Mezzetti, and Anders Møller. 2015. Systematic execution of android test suites in adverse conditions. In Proceedings of the 2015 International Symposium on Software Testing and Analysis (ISSTA). 83–93. https://doi.org/10.1145/2771783.2771786 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Domenico Amalfitano, Anna Rita Fasolino, Porfirio Tramontana, Bryan Dzung Ta, and Atif M. Memon. 2015. MobiGUITAR: Automated Model-Based Testing of Mobile Apps. IEEE Software, 53–59. https://doi.org/10.1109/MS.2014.55 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. AnkiDroid Team. 2022. AnkiDroid. Retrieved 2023-1 from https://github.com/ankidroid/Anki-Android Google ScholarGoogle Scholar
  4. AnyMemo Team. 2022. AnyMemo. Retrieved 2023-1 from https://github.com/helloworld1/AnyMemo Google ScholarGoogle Scholar
  5. Young-Min Baek and Doo-Hwan Bae. 2016. Automated model-based Android GUI testing using multi-level GUI comparison criteria. In 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE). 238–249. https://doi.org/10.1145/2970276.2970313 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Earl T Barr, Mark Harman, Phil McMinn, Muzammil Shahbaz, and Shin Yoo. 2014. The oracle problem in software testing: A survey. IEEE transactions on software engineering (TSE), 507–525. https://doi.org/10.1109/TSE.2014.2372785 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Farnaz Behrang and Alessandro Orso. 2019. Test migration between mobile apps with similar functionality. In 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE). 54–65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Benoît Joossen. 2018. Voice Memos “Epidemic Failure” and How to Avoid it. Retrieved 2023-1 from https://aeroquartet.com/wordpress/2019/03/05/voice-memos-epidemic-failure-and-how-to-avoid-it/ Google ScholarGoogle Scholar
  9. Manfred Broy, Bengt Jonsson, Joost-Pieter Katoen, Martin Leucker, and Alexander Pretschner. 2005. Model-based testing of reactive systems: advanced lectures. Springer Science & Business Media. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Business of Apps. 2022. Android Statistics (2022). Retrieved 2023-1 from https://www.businessofapps.com/data/android-statistics/ Google ScholarGoogle Scholar
  11. CapCut Team. 2021. CapCut. Retrieved 2023-1 from https://lv.faceueditor.com Google ScholarGoogle Scholar
  12. Chunyang Chen, Ting Su, Guozhu Meng, Zhenchang Xing, and Yang Liu. 2018. From ui design image to gui skeleton: a neural machine translator to bootstrap mobile gui implementation. In Proceedings of the 40th International Conference on Software Engineering (ICSE). 665–676. https://doi.org/10.1145/3180155.3180240 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Tsong Y. Chen, Shing C. Cheung, and Shiu Ming Yiu. 2020. Metamorphic testing: a new approach for generating next test cases. HKUST-CS98-01, Hong Kong University of Science and Technology. https://doi.org/10.48550/arXiv.2002.12543 Google ScholarGoogle ScholarCross RefCross Ref
  14. Shauvik Roy Choudhary, Alessandra Gorla, and Alessandro Orso. 2015. Automated Test Input Generation for Android: Are We There Yet? (E). In 30th IEEE/ACM International Conference on Automated Software Engineering (ASE). 429–440. https://doi.org/10.1109/ASE.2015.89 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Koen Claessen and John Hughes. 2000. QuickCheck: a lightweight tool for random testing of Haskell programs. In Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming (ICFP). 268–279. https://doi.org/10.1145/351240.351266 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Koen Claessen and John Hughes. 2000. QuickCheck: a lightweight tool for random testing of Haskell programs. In Proceedings of the fifth ACM SIGPLAN international conference on Functional programming (ICFP). 268–279. https://doi.org/10.1145/357766.351266 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Pedro Costa, Ana CR Paiva, and Miguel Nabuco. 2014. Pattern based GUI testing for mobile applications. In Proceedings of the 9th International Conference on the Quality of Information and Communications Technology (QUATIC). 66–74. https://doi.org/10.1109/QUATIC.2014.16 Google ScholarGoogle ScholarCross RefCross Ref
  18. Guilherme de Cleva Farto and Andre Takeshi Endo. 2015. Evaluating the model-based testing approach in the context of mobile applications. Electronic notes in Theoretical computer science, 3–21. https://doi.org/10.1016/j.entcs.2015.05.002 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Zhen Dong, Marcel Böhme, Lucia Cojocaru, and Abhik Roychoudhury. 2020. Time-travel testing of Android apps. In Proceedings of the 42nd International Conference on Software Engineering (ICSE). 1–12. https://doi.org/10.1145/3377811.3380402 Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Dawson R. Engler, David Yu Chen, and Andy Chou. 2001. Bugs as Deviant Behavior: A General Approach to Inferring Errors in Systems Code. In Proceedings of the 18th ACM Symposium on Operating System Principles (SOSP 2001). 57–72. https://doi.org/10.1145/502034.502041 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Lingling Fan, Ting Su, Sen Chen, Guozhu Meng, Yang Liu, Lihua Xu, Geguang Pu, and Zhendong Su. 2018. Large-scale analysis of framework-specific exceptions in Android apps. In Proceedings of the 40th International Conference on Software Engineering (ICSE), Michel Chaudron, Ivica Crnkovic, Marsha Chechik, and Mark Harman (Eds.). 408–419. https://doi.org/10.1145/3180155.3180222 Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Mattia Fazzini and Alessandro Orso. 2017. Automated cross-platform inconsistency detection for mobile apps. In 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE). 308–318. https://doi.org/10.1109/ASE.2017.8115644 Google ScholarGoogle ScholarCross RefCross Ref
  23. FeiShu Team. 2021. FeiShu. Retrieved 2023-1 from https://www.feishu.cn/ Google ScholarGoogle Scholar
  24. GeeksforGeeks. 2020. MVC (Model View Controller) Architecture Pattern in Android. Retrieved 2023-1 from https://www.geeksforgeeks.org/mvc-model-view-controller-architecture-pattern-in-android-with-example/ Google ScholarGoogle Scholar
  25. Google. 2021. Google Play. Retrieved 2023-1 from https://play.google.com/store Google ScholarGoogle Scholar
  26. Tianxiao Gu, Chengnian Sun, Xiaoxing Ma, Chun Cao, Chang Xu, Yuan Yao, Qirun Zhang, Jian Lu, and Zhendong Su. 2019. Practical GUI testing of Android applications via model abstraction and refinement. In 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE). 269–280. https://doi.org/10.1109/ICSE.2019.00042 Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Wunan Guo, Zhen Dong, Liwei Shen, Wei Tian, Ting Su, and Xin Peng. 2022. Detecting and fixing data loss issues in Android apps. In ISSTA ’22: 31st ACM SIGSOFT International Symposium on Software Testing and Analysis, Virtual Event, South Korea, July 18 - 22, 2022. 605–616. Google ScholarGoogle Scholar
  28. Wunan Guo, Zhen Dong, Liwei Shen, Wei Tian, Ting Su, and Xin Peng. 2022. Detecting and fixing data loss issues in Android apps. In Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA). 605–616. https://doi.org/10.1145/3533767.3534402 Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Hacker News. 2013. Tell Facebook: There’s a severe bug when changing profile pics on the iOS app. Retrieved 2023-1 from https://news.ycombinator.com/item?id=6456285 Google ScholarGoogle Scholar
  30. Gang Hu, Linjie Zhu, and Junfeng Yang. 2018. AppFlow: using machine learning to synthesize robust, reusable UI tests. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE). 269–282. https://doi.org/10.1145/3236024.3236055 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. John Hughes. 2020. How to Specify It!. In Trends in Functional Programming. Springer International Publishing, 58–83. Google ScholarGoogle Scholar
  32. k-9 Team. 2022. k-9. Retrieved 2023-1 from https://github.com/thundernest/k-9 Google ScholarGoogle Scholar
  33. Stefan Karlsson, Adnan Causevic, Daniel Sundmark, and Mårten Larsson. 2021. Model-based Automated Testing of Mobile Applications: An Industrial Case Study. In 14th IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW 2021. 130–137. Google ScholarGoogle Scholar
  34. Stefan Karlsson, Adnan Čaušević, and Daniel Sundmark. 2020. QuickREST: Property-based Test Generation of OpenAPI-Described RESTful APIs. In 2020 IEEE 13th International Conference on Software Testing, Validation and Verification (ICST). 131–141. https://doi.org/10.1109/ICST46399.2020.00023 Google ScholarGoogle ScholarCross RefCross Ref
  35. Pingfan Kong, Li Li, Jun Gao, Kui Liu, Tegawendé F. Bissyandé, and Jacques Klein. 2019. Automated Testing of Android Apps: A Systematic Literature Review. IEEE Trans. Reliability, 68, 1 (2019), 45–66. https://doi.org/10.1109/TR.2018.2865733 Google ScholarGoogle ScholarCross RefCross Ref
  36. Edmund SL Lam, Peilun Zhang, and Bor-Yuh Evan Chang. 2017. ChimpCheck: property-based randomized test generation for interactive apps. In Proceedings of the 2017 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!). 58–77. https://doi.org/10.1145/3133850.3133853 Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Leonidas Lampropoulos, Michael Hicks, and Benjamin C. Pierce. 2019. Coverage guided, property based testing. Proc. ACM Program. Lang., 181:1–181:29. https://doi.org/10.1145/3360607 Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Yuanchun Li, Ziyue Yang, Yao Guo, and Xiangqun Chen. 2017. Droidbot: a lightweight ui-guided test input generator for android. In Proceedings of the 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). 23–26. https://doi.org/10.1109/ICSE-C.2017.8 Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Jun-Wei Lin, Reyhaneh Jabbarvand, and Sam Malek. 2019. Test transfer across mobile apps through semantic mapping. In 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE). 42–53. https://doi.org/10.1109/ASE.2019.00015 Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Ying-Dar Lin, José F. Rojas, Edward T.-H. Chu, and Yuan-Cheng Lai. 2014. On the Accuracy, Efficiency, and Reusability of Automated Test Oracles for Android Devices. IEEE Trans. Software Eng., 957–970. https://doi.org/10.1109/TSE.2014.2331982 Google ScholarGoogle ScholarCross RefCross Ref
  41. Zhengwei Lv, Chao Peng, Zhao Zhang, Ting Su, Kai Liu, and Ping Yang. 2022. Fastbot2: Reusable Automated Model-based GUI Testing for Android Enhanced by Reinforcement Learning. In 37th IEEE/ACM International Conference on Automated Software Engineering (ASE). 135:1–135:5. https://doi.org/10.1145/3551349.3559505 Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Ke Mao, Mark Harman, and Yue Jia. 2016. Sapienz: multi-objective automated testing for Android applications. In Proceedings of the 25th International Symposium on Software Testing and Analysis (ISSTA). 94–105. https://doi.org/10.1145/2931037.2931054 Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Leonardo Mariani, Mauro Pezzè, and Daniele Zuddas. 2018. Augusto: Exploiting Popular Functionalities for the Generation of Semantic GUI Tests with Oracles. In Proceedings of the 40th International Conference on Software Engineering (ICSE). 280–290. https://doi.org/10.1145/3180155.3180162 Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Monkey Team. 2022. Android Monkey. Retrieved 2023-1 from https://developer.android.com/studio/test/monkey Google ScholarGoogle Scholar
  45. Liam O’Connor and Oskar Wickström. 2022. Quickstrom: property-based acceptance testing with LTL specifications. In Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI). 1025–1038. https://doi.org/10.1145/3519939.3523728 Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Carlos Pacheco, Shuvendu K Lahiri, Michael D Ernst, and Thomas Ball. 2007. Feedback-directed random test generation. In 29th International Conference on Software Engineering (ICSE). 75–84. https://doi.org/10.1109/ICSE.2007.37 Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Sumit Padhiyar and KC Sivaramakrishnan. 2021. ConFuzz: Coverage-guided property fuzzing for event-driven programs. In Practical Aspects of Declarative Languages: 23rd International Symposium, PADL 2021, Copenhagen, Denmark, January 18-19, 2021, Proceedings 23. 127–144. https://doi.org/10.1007/978-3-030-67438-0_8 Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Rohan Padhye, Caroline Lemieux, and Koushik Sen. 2019. JQF: coverage-guided property-based testing in Java. In Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA). 398–401. https://doi.org/10.1145/3293882.3339002 Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Minxue Pan, An Huang, Guoxin Wang, Tian Zhang, and Xuandong Li. 2020. Reinforcement Learning Based Curiosity-Driven Testing of Android Applications. In Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA). 153–164. https://doi.org/10.1145/3395363.3397354 Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Oliviero Riganelli, Simone Paolo Mottadelli, Claudio Rota, Daniela Micucci, and Leonardo Mariani. 2020. Data loss detector: automatically revealing data loss bugs in Android apps. In Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA). 141–152. https://doi.org/10.1145/3395363.3397379 Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Manuel Rigger and Zhendong Su. 2020. Finding bugs in database systems via query partitioning. Proc. ACM Program. Lang., 211:1–211:30. https://doi.org/10.5281/zenodo.4032401 Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Manuel Rigger and Zhendong Su. 2020. Testing Database Engines via Pivoted Query Synthesis. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI). USENIX Association, 667–682. https://doi.org/10.48550/arXiv.2001.04174 Google ScholarGoogle ScholarCross RefCross Ref
  53. Ariel Rosenfeld, Odaya Kardashov, and Orel Zang. 2018. Automation of android applications functional testing using machine learning activities classification. In Proceedings of the 5th International Conference on Mobile Software Engineering and Systems (MOBILESoft). 122–132. https://doi.org/10.1145/3197231.3197241 Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Iflaah Salman, Ayse Tosun Misirli, and Natalia Juristo. 2015. Are students representatives of professionals in software engineering experiments? In Proceedings of the 2015 IEEE/ACM 37th IEEE international conference on software engineering (ICSE). 666–676. https://doi.org/10.5555/2818754.2818836 Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. André Santos, Alcino Cunha, and Nuno Macedo. 2018. Property-based testing for the robot operating system. In Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation. 56–62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. SimpleTask Team. 2022. SimpleTask. Retrieved 2023-1 from https://github.com/mpcjanssen/simpletask-android Google ScholarGoogle Scholar
  57. Sixth Tone. 2019. E-Commerce App Loses ‘Tens of Millions’ From Coupon Glitches. Retrieved 2023-1 from https://www.sixthtone.com/news/1003483/e-commerce-app-loses-tens-of-millions-from-coupon-glitches Google ScholarGoogle Scholar
  58. SkyTube Team. 2022. SkyTube. Retrieved 2023-1 from https://github.com/SkyTubeTeam/SkyTube Google ScholarGoogle Scholar
  59. Ting Su, Lingling Fan, Sen Chen, Yang Liu, Lihua Xu, Geguang Pu, and Zhendong Su. 2022. Why My App Crashes? Understanding and Benchmarking Framework-Specific Exceptions of Android Apps. IEEE Trans. Software Eng., 48, 4 (2022), 1115–1137. https://doi.org/10.1109/TSE.2020.3013438 Google ScholarGoogle ScholarCross RefCross Ref
  60. Ting Su, Guozhu Meng, Yuting Chen, Ke Wu, Weiming Yang, Yao Yao, Geguang Pu, Yang Liu, and Zhendong Su. 2017. Guided, stochastic model-based GUI testing of Android apps. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (ESEC/FSE). 245–256. https://doi.org/10.1145/3106237.3106298 Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Ting Su, Jue Wang, and Zhendong Su. 2021. Benchmarking automated GUI testing for Android against real-world bugs. In 29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE). 119–130. https://doi.org/10.1145/3468264.3468620 Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Ting Su, Yichen Yan, Jue Wang, Jingling Sun, Yiheng Xiong, Geguang Pu, Ke Wang, and Zhendong Su. 2021. Fully automated functional fuzzing of Android apps for detecting non-crashing logic bugs. Proceedings of the ACM on Programming Languages (OOPSLA), 1–31. https://doi.org/10.1145/3485533 Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Jingling Sun, Ting Su, Junxin Li, Zhen Dong, Geguang Pu, Tao Xie, and Zhendong Su. 2021. Understanding and finding system setting-related defects in Android apps. In Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA). 204–215. https://doi.org/10.1145/3460319.3464806 Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. Jingling Sun, Ting Su, Kai Liu, Chao Peng, Zhao Zhang, Geguang Pu, Tao Xie, and Zhendong Su. 2023. Characterizing and Finding System Setting-Related Defects in Android Apps. IEEE Trans. Software Eng., 49, 4 (2023), 2941–2963. https://doi.org/10.1109/TSE.2023.3236449 Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Amaze Team. 2022. AmazeFileManager. Retrieved 2023-1 from https://github.com/TeamAmaze/AmazeFileManager Google ScholarGoogle Scholar
  66. Tiktok Team. 2021. Tiktok. Retrieved 2023-1 from https://www.tiktok.com Google ScholarGoogle Scholar
  67. Porfirio Tramontana, Domenico Amalfitano, Nicola Amatucci, and Anna Rita Fasolino. 2019. Automated functional testing of mobile applications: a systematic mapping study. Software Quality Journal, 27, 1 (2019), 149–201. https://doi.org/10.1007/s11219-018-9418-6 Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. David Travis. 2020. What user researchers ought to know about informed consent. Retrieved 2023-1 from https://userfocus.co.uk/articles/what_user_researchers_ought_to_know_about_informed_consent.html Google ScholarGoogle Scholar
  69. uiautomator2 Team. 2022. uiautomator2. Retrieved 2023-1 from https://github.com/openatx/uiautomator2 Google ScholarGoogle Scholar
  70. Jue Wang, Yanyan Jiang, Ting Su, Shaohua Li, Chang Xu, Jian Lu, and Zhendong Su. 2022. Detecting non-crashing functional bugs in Android apps via deep-state differential analysis. In Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE). 434–446. https://doi.org/10.1145/3540250.3549170 Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. Jue Wang, Yanyan Jiang, Chang Xu, Chun Cao, Xiaoxing Ma, and Jian Lu. 2020. ComboDroid: Generating High-Quality Test Inputs for Android Apps via Use Case Combinations. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering (ICSE). 469–480. https://doi.org/10.1145/3377811.3380382 Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Wenyu Wang, Dengfeng Li, Wei Yang, Yurui Cao, Zhenwen Zhang, Yuetang Deng, and Tao Xie. 2018. An empirical study of Android test generation tools in industrial cases. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering (ASE). 738–748. https://doi.org/10.1145/3238147.3240465 Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. weditor Team. 2022. weditor. Retrieved 2023-1 from https://pypi.org/project/weditor/ Google ScholarGoogle Scholar
  74. Wikipedia. 2022. Create, read, update and delete. Retrieved 2023-1 from https://en.wikipedia.org/wiki/Create,_read,_update_and_delete Google ScholarGoogle Scholar
  75. Wikipedia Team. 2022. Wikipedia. Retrieved 2023-1 from https://github.com/wikimedia/apps-android-wikipedia Google ScholarGoogle Scholar
  76. WordPress Team. 2022. WordPress. Retrieved 2023-1 from https://github.com/wordpress-mobile/WordPress-Android Google ScholarGoogle Scholar
  77. Yiheng Xiong, Mengqian Xu, Ting Su, Jingling Sun, Jue Wang, He Wen, Geguang Pu, Jifeng He, and Zhendong Su. 2023. An Empirical Study of Functional Bugs in Android Apps. In Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA). 1319–1331. https://doi.org/10.1145/3597926.3598138 Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. Razieh Nokhbeh Zaeem, Mukul R. Prasad, and Sarfraz Khurshid. 2014. Automated Generation of Oracles for Testing User-Interaction Features of Mobile Apps. In Proceedings of the International Conference on Software Testing, Verification and Validation (ICST). 183–192. https://doi.org/10.1109/ICST.2014.31 Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. Yixue Zhao, Justin Chen, Adriana Sejfia, Marcelo Schmitt Laser, Jie Zhang, Federica Sarro, Mark Harman, and Nenad Medvidovic. 2020. FrUITeR: a framework for evaluating UI test reuse. In Proceedings of the 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE). 1190–1201. https://doi.org/10.1145/3368089.3409708 Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. Yu Zhao, Tingting Yu, Ting Su, Yang Liu, Wei Zheng, Jingzhi Zhang, and William GJ Halfond. 2019. Recdroid: automatically reproducing android application crashes from bug reports. In 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE). 128–139. https://doi.org/10.1109/ICSE.2019.00030 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ESEC/FSE 2023: Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering
      November 2023
      2215 pages
      ISBN:9798400703270
      DOI:10.1145/3611643

      Copyright © 2023 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 30 November 2023

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate112of543submissions,21%
    • Article Metrics

      • Downloads (Last 12 months)120
      • Downloads (Last 6 weeks)22

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader