{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,13]],"date-time":"2026-07-13T01:22:38Z","timestamp":1783905758066,"version":"3.55.0"},"reference-count":61,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2023,1,31]],"date-time":"2023-01-31T00:00:00Z","timestamp":1675123200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Leading-edge Technology Program of Jiangsu Natural Science Foundation","award":["BK20202001"],"award-info":[{"award-number":["BK20202001"]}]},{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"crossref","award":["61972193 and 62032010"],"award-info":[{"award-number":["61972193 and 62032010"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"crossref"}]},{"name":"Hong Kong RGC General Research Fund","award":["PolyU 152002\/18E"],"award-info":[{"award-number":["PolyU 152002\/18E"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2023,1,31]]},"abstract":"<jats:p>\n            Preferences, the setting options provided by Android, are an essential part of Android apps. Preferences allow users to change app features and behaviors dynamically, and therefore their impacts need to be considered when testing the apps. Unfortunately, few test cases explicitly specify the assignments of valid values to the preferences, or\n            <jats:italic>configurations<\/jats:italic>\n            , under which they should be executed, and few existing mobile testing tools take the impact of preferences into account or provide help to testers in identifying and setting up the configurations for running the tests. This article presents the\n            <jats:sc>Prefest<\/jats:sc>\n            approach to effective testing of Android apps with preferences. Given an Android app and a set of test cases for the app,\n            <jats:sc>Prefest<\/jats:sc>\n            amplifies the test cases with a small number of configurations to exercise more behaviors and detect more bugs that are related to preferences. In an experimental evaluation conducted on real-world Android apps, amplified test cases produced by\n            <jats:sc>Prefest<\/jats:sc>\n            from automatically generated test cases covered significantly more code of the apps and detected seven real bugs, and the tool\u2019s test amplification time was at the same order of magnitude as the running time of the input test cases.\n            <jats:sc>Prefest<\/jats:sc>\n            \u2019s effectiveness and efficiency in amplifying programmer-written test cases was comparable with that in amplifying automatically generated test cases.\n          <\/jats:p>","DOI":"10.1145\/3511804","type":"journal-article","created":{"date-parts":[[2022,4,19]],"date-time":"2022-04-19T12:40:29Z","timestamp":1650372029000},"page":"1-37","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Preference-wise Testing of Android Apps via Test Amplification"],"prefix":"10.1145","volume":"32","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4011-5350","authenticated-orcid":false,"given":"Minxue","family":"Pan","sequence":"first","affiliation":[{"name":"Nanjing University, Nanjing, Jiangsu Province, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yifei","family":"Lu","sequence":"additional","affiliation":[{"name":"Nanjing University, Nanjing, Jiangsu Province, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yu","family":"Pei","sequence":"additional","affiliation":[{"name":"The Hong Kong Polytechnic University, Kowloon, Hong Kong, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Tian","family":"Zhang","sequence":"additional","affiliation":[{"name":"Nanjing University, Nanjing, Jiangsu Province, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Xuandong","family":"Li","sequence":"additional","affiliation":[{"name":"Nanjing University, Nanjing, Jiangsu Province, China"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2023,2,13]]},"reference":[{"key":"e_1_3_2_2_2","first-page":"1","volume-title":"Proceedings of the4th Asia International Conference on Mathematical\/Analytical Modelling and Computer Simulation","author":"Ahmed Bestoun S.","year":"2010","unstructured":"Bestoun S. Ahmed and Kamal Z. Zamli. 2010. PSTG: A T-way strategy adopting particle swarm optimization. In Proceedings of the4th Asia International Conference on Mathematical\/Analytical Modelling and Computer Simulation. IEEE Computer Society, 1\u20135."},{"key":"e_1_3_2_3_2","first-page":"33","volume-title":"Proceedings of the 2nd ACM International Conference on Mobile Software Engineering and Systems","author":"Amalfitano Domenico","year":"2015","unstructured":"Domenico Amalfitano, Nicola Amatucci, Anna Rita Fasolino, Porfirio Tramontana, Emily Kowalczyk, and Atif M. Memon. 2015. Exploiting the saturation effect in automatic random testing of Android applications. In Proceedings of the 2nd ACM International Conference on Mobile Software Engineering and Systems. IEEE Press, 33\u201343."},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/2351676.2351717"},{"key":"e_1_3_2_5_2","first-page":"59","volume-title":"Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering","author":"Anand Saswat","year":"2012","unstructured":"Saswat Anand, Mayur Naik, Mary Jean Harrold, and Hongseok Yang. 2012. Automated concolic testing of smartphone apps. In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering. ACM, 59."},{"key":"e_1_3_2_6_2","volume-title":"Introduction to Android Application Development: Android Essentials","author":"Annuzzi Joseph","year":"2014","unstructured":"Joseph Annuzzi, Lauren Darcey, and Shane Conder. 2014. Introduction to Android Application Development: Android Essentials. Pearson Education."},{"key":"e_1_3_2_7_2","unstructured":"AppiumConf. 2019. Appium: Automation for Apps. Retrieved from http:\/\/appium.io\/."},{"key":"e_1_3_2_8_2","first-page":"641","volume-title":"ACM SIGPLAN Notices","author":"Azim Tanzirul","year":"2013","unstructured":"Tanzirul Azim and Iulian Neamtiu. 2013. Targeted and depth-first exploration for systematic testing of Android apps. In ACM SIGPLAN Notices, Vol. 48. ACM, 641\u2013660."},{"key":"e_1_3_2_9_2","first-page":"67","volume-title":"Proceedings of the 14th International Conference on Quality Software","author":"Bloem Roderick","year":"2014","unstructured":"Roderick Bloem, Robert Koenighofer, Franz R\u00f6ck, and Michael Tautschnig. 2014. Automating test-suite augmentation. In Proceedings of the 14th International Conference on Quality Software. IEEE, 67\u201372."},{"key":"e_1_3_2_10_2","first-page":"137","volume-title":"Proceedings of the IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","author":"Ceccato Mariano","year":"2019","unstructured":"Mariano Ceccato, Luca Gazzola, Fitsum Meshesha Kifetew, Leonardo Mariani, Matteo Orr\u00f9, and Paolo Tonella. 2019. Toward in-vivo testing of mobile applications. In Proceedings of the IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW). IEEE, 137\u2013143."},{"key":"e_1_3_2_11_2","first-page":"623","volume-title":"ACM SIGPLAN Notices","author":"Choi Wontae","year":"2013","unstructured":"Wontae Choi, George Necula, and Koushik Sen. 2013. Guided GUI testing of Android apps with minimal restart and approximate learning. In ACM SIGPLAN Notices, Vol. 48. ACM, 623\u2013640."},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.1109\/32.605761"},{"key":"e_1_3_2_13_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2008.50"},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2019.110398"},{"key":"e_1_3_2_15_2","doi-asserted-by":"crossref","first-page":"55","DOI":"10.18293\/SEKE2019-076","volume-title":"SEKE","author":"Assis Thiago Botti de","year":"2019","unstructured":"Thiago Botti de Assis, Andr\u00e9 Augusto Menegassi, and Andre Takeshi Endo. 2019. Amplifying tests for cross-platform apps through test patterns. In SEKE. 55\u201374."},{"key":"e_1_3_2_16_2","unstructured":"Google Developers. 2021. Android Debug Bridge. Retrieved from https:\/\/developer.android.com\/studio\/command-line\/adb."},{"key":"e_1_3_2_17_2","unstructured":"Google Developers. 2021. Documentation of Settings for Android Developers. Retrieved from https:\/\/developer.android.com\/guide\/topics\/ui\/settings."},{"key":"e_1_3_2_18_2","unstructured":"Google Developers. 2021. Google Play. Retrieved from https:\/\/play.google.com."},{"key":"e_1_3_2_19_2","first-page":"1","volume-title":"Proceedings of the 42nd International Conference on Software Engineering (ICSE\u201920)","author":"Dong Zhen","year":"2020","unstructured":"Zhen Dong, Marcel B\u00f6hme, Lucia Cojocaru, and Abhik Roychoudhury. 2020. Time-travel testing of Android apps. In Proceedings of the 42nd International Conference on Software Engineering (ICSE\u201920). 1\u201312."},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/3238147.3238225"},{"key":"e_1_3_2_21_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00042"},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/2594368.2594390"},{"key":"e_1_3_2_23_2","volume-title":"Pro Android 3","author":"Hashimi Sayed","year":"2011","unstructured":"Sayed Hashimi, Satya Komatineni, and Dave MacLean. 2011. Pro Android 3. Apress."},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00115"},{"key":"e_1_3_2_25_2","first-page":"67","volume-title":"Proceedings of the International Symposium on Software Testing and Analysis","author":"Jensen Casper S.","year":"2013","unstructured":"Casper S. Jensen, Mukul R. Prasad, and Anders M\u00f8ller. 2013. Automated testing with targeted event sequence generation. In Proceedings of the International Symposium on Software Testing and Analysis. ACM, 67\u201377."},{"key":"e_1_3_2_26_2","first-page":"246","volume-title":"Proceedings of the 41st International Conference on Software Engineering","author":"Ki Taeyeon","year":"2019","unstructured":"Taeyeon Ki, Chang Min Park, Karthik Dantu, Steven Y. Ko, and Lukasz Ziarek. 2019. Mimic: UI compatibility testing system for Android apps. In Proceedings of the 41st International Conference on Software Engineering. 246\u2013256."},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.5555\/2341322"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/3243218.3243219"},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00021"},{"key":"e_1_3_2_30_2","first-page":"549","volume-title":"Proceedings of the 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-based Systems","author":"Lei Yu","year":"2007","unstructured":"Yu Lei, Raghu Kacker, D. Richard Kuhn, Vadim Okun, and James Lawrence. 2007. IPOG: A general strategy for T-Way software testing. In Proceedings of the 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-based Systems. 549\u2013556."},{"key":"e_1_3_2_31_2","first-page":"1070","volume-title":"Proceedings of the 34th IEEE\/ACM International Conference on Automated Software Engineering","author":"Li Yuanchun","year":"2019","unstructured":"Yuanchun Li, Ziyue Yang, Yao Guo, and Xiangqun Chen. 2019. Humanoid: A deep learning-based approach to automated black-box Android app testing. In Proceedings of the 34th IEEE\/ACM International Conference on Automated Software Engineering. 1070\u20131073."},{"key":"e_1_3_2_32_2","volume-title":"Contextual Fuzzing: Automated Mobile App Testing under Dynamic Device and Environment Conditions","author":"Liang Chieh-Jan Mike","year":"2013","unstructured":"Chieh-Jan Mike Liang, Nic Lane, Niels Brouwers, Li Zhang, B\u00f6rje Karlsson, Ranveer Chandra, and Feng Zhao. 2013. Contextual Fuzzing: Automated Mobile App Testing under Dynamic Device and Environment Conditions. Technical Report. MSR-TR-2013-100, Microsoft Research."},{"key":"e_1_3_2_33_2","doi-asserted-by":"crossref","first-page":"519","DOI":"10.1145\/2639108.2639131","volume-title":"Proceedings of the 20th Annual International Conference on Mobile Computing and Networking","author":"Liang Chieh-Jan Mike","year":"2014","unstructured":"Chieh-Jan Mike Liang, Nicholas D. Lane, Niels Brouwers, Li Zhang, B\u00f6rje F. Karlsson, Hao Liu, Yan Liu, Jun Tang, Xiang Shan, Ranveer Chandra et\u00a0al. 2014. Caiipa: Automated large-scale mobile app testing through contextual fuzzing. In Proceedings of the 20th Annual International Conference on Mobile Computing and Networking. 519\u2013530."},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00015"},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1145\/3324884.3416623"},{"key":"e_1_3_2_36_2","first-page":"268","volume-title":"Proceedings of the 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE\u201919)","author":"Lu Yifei","year":"2019","unstructured":"Yifei Lu, Minxue Pan, Juan Zhai, Tian Zhang, and Xuandong Li. 2019. Preference-wise testing for Android applications. In Proceedings of the 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE\u201919). Association for Computing Machinery, New York, NY, 268\u2013278."},{"key":"e_1_3_2_37_2","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2491450"},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635896"},{"key":"e_1_3_2_39_2","doi-asserted-by":"publisher","DOI":"10.1145\/2931037.2931054"},{"key":"e_1_3_2_40_2","doi-asserted-by":"crossref","first-page":"307","DOI":"10.1109\/ASE.1997.632858","volume-title":"Proceedings of the 12th International Conference on Automated Software Engineering","author":"Michael C. C.","year":"1997","unstructured":"C. C. Michael, G. E. McGraw, M. A. Schatz, and C. C. Walton. 1997. Genetic algorithms for dynamic test data generation. In Proceedings of the 12th International Conference on Automated Software Engineering. IEEE Computer Society, 307."},{"key":"e_1_3_2_41_2","first-page":"461","volume-title":"Proceedings of the IEEE 26th International Symposium on Software Reliability Engineering (ISSRE)","author":"Mirzaei Nariman","year":"2015","unstructured":"Nariman Mirzaei, Hamid Bagheri, Riyadh Mahmood, and Sam Malek. 2015. SIG-Droid: Automated system input generation for Android applications. In Proceedings of the IEEE 26th International Symposium on Software Reliability Engineering (ISSRE). IEEE Computer Society, 461\u2013471."},{"key":"e_1_3_2_42_2","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884853"},{"key":"e_1_3_2_43_2","unstructured":"Monkeyrunner. 2019. monkeyrunner. Retrieved from https:\/\/developer.android.com\/studio\/test\/monkeyrunner\/."},{"key":"e_1_3_2_44_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE-SEIP.2019.00029"},{"key":"e_1_3_2_45_2","doi-asserted-by":"publisher","DOI":"10.1145\/1883612.1883618"},{"key":"e_1_3_2_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/3395363.3397354"},{"key":"e_1_3_2_47_2","unstructured":"pcqpcq. 2019. Open-source-android-apps. Retrieved from https:\/\/github.com\/pcqpcq\/open-source-android-apps\/."},{"key":"e_1_3_2_48_2","doi-asserted-by":"crossref","first-page":"296","DOI":"10.1145\/3387904.3389256","volume-title":"Proceedings of the 28th International Conference on Program Comprehension","author":"Pecorelli Fabiano","year":"2020","unstructured":"Fabiano Pecorelli, Gemma Catolino, Filomena Ferrucci, Andrea De Lucia, and Fabio Palomba. 2020. Testing of mobile applications in the wild: A large-scale empirical study on Android apps. In Proceedings of the 28th International Conference on Program Comprehension. 296\u2013307."},{"key":"e_1_3_2_49_2","unstructured":"RobotiumTech. 2019. Android UI Testing Robotium. Retrieved from https:\/\/github.com\/RobotiumTech\/robotium."},{"key":"e_1_3_2_50_2","first-page":"220","volume-title":"Proceedings of the 11th Joint Meeting on Foundations of Software Engineering","author":"Sadeghi Alireza","year":"2017","unstructured":"Alireza Sadeghi, Reyhaneh Jabbarvand, and Sam Malek. 2017. PATDdroid: Permission-aware GUI testing of Android. In Proceedings of the 11th Joint Meeting on Foundations of Software Engineering. ACM, 220\u2013232."},{"key":"e_1_3_2_51_2","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2019.00090"},{"key":"e_1_3_2_52_2","first-page":"72","volume-title":"Proceedings of the 28th Annual International Computer Software and Applications Conference","author":"Shiba Toshiaki","year":"2004","unstructured":"Toshiaki Shiba, Tatsuhiro Tsuchiya, and Tohru Kikuno. 2004. Using artificial life techniques to generate test cases for combinatorial testing. In Proceedings of the 28th Annual International Computer Software and Applications Conference. 72\u201377."},{"key":"e_1_3_2_53_2","doi-asserted-by":"publisher","DOI":"10.5555\/3155562.3155570"},{"key":"e_1_3_2_54_2","doi-asserted-by":"publisher","DOI":"10.1145\/3092703.3092709"},{"key":"e_1_3_2_55_2","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106298"},{"key":"e_1_3_2_56_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380349"},{"key":"e_1_3_2_57_2","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2006.117"},{"key":"e_1_3_2_58_2","first-page":"738","volume-title":"Proceedings of the 33rd IEEE\/ACM International Conference on Automated Software Engineering (ASE)","author":"Wang Wenyu","year":"2018","unstructured":"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 IEEE\/ACM International Conference on Automated Software Engineering (ASE). IEEE, 738\u2013748."},{"key":"e_1_3_2_59_2","first-page":"155","volume-title":"Proceedings of the 8th International Conference on Quality Software","author":"Wang Ziyuan","year":"2008","unstructured":"Ziyuan Wang, Baowen Xu, and Changhai Nie. 2008. Greedy heuristic algorithms to generate variable strength combinatorial test suite. In Proceedings of the 8th International Conference on Quality Software. IEEE Computer Society, 155\u2013160."},{"key":"e_1_3_2_60_2","first-page":"406","volume-title":"Proceedings of the 16th Asia-Pacific Software Engineering Conference","author":"Xu Zhihong","year":"2009","unstructured":"Zhihong Xu and Gregg Rothermel. 2009. Directed test suite augmentation. In Proceedings of the 16th Asia-Pacific Software Engineering Conference. IEEE, 406\u2013413."},{"key":"e_1_3_2_61_2","doi-asserted-by":"publisher","DOI":"10.5555\/2337223.2337293"},{"key":"e_1_3_2_62_2","doi-asserted-by":"publisher","DOI":"10.1145\/2652483"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3511804","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3511804","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T19:30:55Z","timestamp":1750188655000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3511804"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,1,31]]},"references-count":61,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2023,1,31]]}},"alternative-id":["10.1145\/3511804"],"URL":"https:\/\/doi.org\/10.1145\/3511804","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,1,31]]},"assertion":[{"value":"2020-08-16","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-01-14","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-02-13","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}