Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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 2023 Publication 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.

Supplementary Material

Video (fse23main-p378-p-video.mp4)
"Automated program repair relying on static analysis complements test-driven repair, since it does not require failing tests to repair a bug, and it avoids test-overfitting by considering program properties. Due to the rich variety and complexity of program analyses, existing static program repair techniques are tied to specific analysers, and thus repair only narrow classes of defects. To develop a general-purpose static program repair framework that targets a wide range of properties and programming languages, we propose to integrate program repair with Datalog-based analysis. Datalog solvers are programmable fixed point engines which can be used to encode many program analysis problems in a modular fashion. The program under analysis is encoded as Datalog facts, while the fixed point equations of the program analysis are expressed as recursive Datalog rules. In this context, we view repairing the program as modifying the corresponding Datalog facts. This is accomplished by a novel technique, symbolic execution of Datalog, that evaluates Datalog queries over a symbolic database of facts, instead of a concrete set of facts. The result of symbolic query evaluation allows us to infer what changes to a given set of Datalog facts repair the program so that it meets the desired analysis goals. We developed a symbolic executor for Datalog called Symlog, on top of which we built a repair tool SymlogRepair. We show the versatility of our approach on several analysis problems — repairing null pointer exceptions in Java programs, repairing data leaks in Python notebooks, and repairing four types of security vulnerabilities in Solidity smart contracts."

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
[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
[3]
AnkiDroid Team. 2022. AnkiDroid. Retrieved 2023-1 from https://github.com/ankidroid/Anki-Android
[4]
AnyMemo Team. 2022. AnyMemo. Retrieved 2023-1 from https://github.com/helloworld1/AnyMemo
[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
[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
[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.
[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/
[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.
[10]
Business of Apps. 2022. Android Statistics (2022). Retrieved 2023-1 from https://www.businessofapps.com/data/android-statistics/
[11]
CapCut Team. 2021. CapCut. Retrieved 2023-1 from https://lv.faceueditor.com
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[23]
FeiShu Team. 2021. FeiShu. Retrieved 2023-1 from https://www.feishu.cn/
[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/
[25]
Google. 2021. Google Play. Retrieved 2023-1 from https://play.google.com/store
[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
[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.
[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
[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
[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
[31]
John Hughes. 2020. How to Specify It!. In Trends in Functional Programming. Springer International Publishing, 58–83.
[32]
k-9 Team. 2022. k-9. Retrieved 2023-1 from https://github.com/thundernest/k-9
[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.
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[44]
Monkey Team. 2022. Android Monkey. Retrieved 2023-1 from https://developer.android.com/studio/test/monkey
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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.
[56]
SimpleTask Team. 2022. SimpleTask. Retrieved 2023-1 from https://github.com/mpcjanssen/simpletask-android
[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
[58]
SkyTube Team. 2022. SkyTube. Retrieved 2023-1 from https://github.com/SkyTubeTeam/SkyTube
[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
[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
[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
[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
[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
[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
[65]
Amaze Team. 2022. AmazeFileManager. Retrieved 2023-1 from https://github.com/TeamAmaze/AmazeFileManager
[66]
Tiktok Team. 2021. Tiktok. Retrieved 2023-1 from https://www.tiktok.com
[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
[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
[69]
uiautomator2 Team. 2022. uiautomator2. Retrieved 2023-1 from https://github.com/openatx/uiautomator2
[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
[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
[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
[73]
weditor Team. 2022. weditor. Retrieved 2023-1 from https://pypi.org/project/weditor/
[74]
Wikipedia. 2022. Create, read, update and delete. Retrieved 2023-1 from https://en.wikipedia.org/wiki/Create,_read,_update_and_delete
[75]
Wikipedia Team. 2022. Wikipedia. Retrieved 2023-1 from https://github.com/wikimedia/apps-android-wikipedia
[76]
WordPress Team. 2022. WordPress. Retrieved 2023-1 from https://github.com/wordpress-mobile/WordPress-Android
[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
[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
[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
[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

Cited By

View all
  • (2025)Extraction and empirical evaluation of GUI-level invariants as GUI Oracles in mobile app testingInformation and Software Technology10.1016/j.infsof.2024.107531177:COnline publication date: 1-Jan-2025
  • (2024)General and Practical Property-based Testing for Android AppsProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3694986(53-64)Online publication date: 27-Oct-2024
  • (2024)Don’t Confuse! Redrawing GUI Navigation Flow in Mobile Apps for Visually Impaired UsersIEEE Transactions on Software Engineering10.1109/TSE.2024.348522550:12(3351-3368)Online publication date: 1-Dec-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 November 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Android app testing
  2. Model-based testing
  3. Non-crashing functional bugs
  4. Property-based testing

Qualifiers

  • Research-article

Conference

ESEC/FSE '23
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)146
  • Downloads (Last 6 weeks)15
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Extraction and empirical evaluation of GUI-level invariants as GUI Oracles in mobile app testingInformation and Software Technology10.1016/j.infsof.2024.107531177:COnline publication date: 1-Jan-2025
  • (2024)General and Practical Property-based Testing for Android AppsProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3694986(53-64)Online publication date: 27-Oct-2024
  • (2024)Don’t Confuse! Redrawing GUI Navigation Flow in Mobile Apps for Visually Impaired UsersIEEE Transactions on Software Engineering10.1109/TSE.2024.348522550:12(3351-3368)Online publication date: 1-Dec-2024
  • (2024)Finding Deep-Hidden Bugs in Android Apps via Functional Semantics Guided ExplorationTheoretical Aspects of Software Engineering10.1007/978-3-031-64626-3_9(146-164)Online publication date: 14-Jul-2024

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media