{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,30]],"date-time":"2026-01-30T04:32:09Z","timestamp":1769747529696,"version":"3.49.0"},"reference-count":50,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2023,4,26]],"date-time":"2023-04-26T00:00:00Z","timestamp":1682467200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"National Science Foundation","award":["2211790, 1823262, and 2106306"],"award-info":[{"award-number":["2211790, 1823262, and 2106306"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2023,7,31]]},"abstract":"<jats:p>\n            Core features (functionalities) of an app can often be accessed and invoked in several ways, i.e., through alternative sequences of user-interface (UI) interactions. Given the manual effort of writing tests, developers often only consider the typical way of invoking features when creating the tests (i.e., the \u201csunny day scenario\u201d). However, the alternative ways of invoking a feature are as likely to be faulty. These faults would go undetected without proper tests. To reduce the manual effort of creating UI tests and help developers more thoroughly examine the features of apps, we present\n            <jats:sc>Route<\/jats:sc>\n            , an automated tool for feature-based UI test augmentation for Android apps.\n            <jats:sc>Route<\/jats:sc>\n            first takes a UI test and the app under test as input. It then applies novel heuristics to find additional high-quality UI tests, consisting of both inputs and assertions, that verify the same feature as the original test in alternative ways. Application of\n            <jats:sc>Route<\/jats:sc>\n            on several dozen tests for popular apps on Google Play shows that for 96% of the existing tests,\n            <jats:sc>Route<\/jats:sc>\n            was able to generate at least one alternative test. Moreover, the fault detection effectiveness of augmented test suites in our experiments showed substantial improvements of up to 39% over the original test suites.\n          <\/jats:p>","DOI":"10.1145\/3571851","type":"journal-article","created":{"date-parts":[[2022,11,19]],"date-time":"2022-11-19T10:22:03Z","timestamp":1668853323000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["<scp>Route<\/scp>\n            : Roads Not Taken in UI Testing"],"prefix":"10.1145","volume":"32","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-0305-2346","authenticated-orcid":false,"given":"Jun-Wei","family":"Lin","sequence":"first","affiliation":[{"name":"MGM Resorts International, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7009-2420","authenticated-orcid":false,"given":"Navid","family":"Salehnamadi","sequence":"additional","affiliation":[{"name":"University of California, Irvine, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6152-7402","authenticated-orcid":false,"given":"Sam","family":"Malek","sequence":"additional","affiliation":[{"name":"University of California, Irvine, USA"}]}],"member":"320","published-online":{"date-parts":[[2023,4,26]]},"reference":[{"key":"e_1_3_2_2_2","volume-title":"Android-x86 - Porting Android to x86","author":"Huang Chih-Wei","year":"2022","unstructured":"Chih-Wei Huang. 2022. Android-x86 - Porting Android to x86. Retrieved from https:\/\/www.android-x86.org\/."},{"key":"e_1_3_2_3_2","unstructured":"OpenJS Foundation. 2022. Appium . Retrieved from https:\/\/github.com\/appium\/appium."},{"key":"e_1_3_2_4_2","volume-title":"Route Project Website","author":"Lin Jun-Wei","year":"2022","unstructured":"Jun-Wei Lin, Navid Salehnamadi, and Sam Malek. 2022. Route Project Website. Retrieved from https:\/\/sites.google.com\/view\/route."},{"key":"e_1_3_2_5_2","volume-title":"School Planner","author":"Cin Andrea Dal","year":"2022","unstructured":"Andrea Dal Cin. 2022. School Planner. Retrieved from https:\/\/play.google.com\/store\/apps\/details?id=daldev.android.gradehelper."},{"key":"e_1_3_2_6_2","unstructured":"Google LLC. 2022. UI Application Exerciser Monkey . Retrieved from https:\/\/developer.android.com\/studio\/test\/monkey."},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/2771783.2771786"},{"key":"e_1_3_2_8_2","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2014.55"},{"key":"e_1_3_2_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/2393596.2393666"},{"key":"e_1_3_2_10_2","first-page":"641","volume-title":"Proceedings of the ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications","author":"Azim Tanzirul","year":"2013","unstructured":"Tanzirul Azim and Iulian Neamtiu. 2013. Targeted and depth-first exploration for systematic testing of Android apps. In Proceedings of the ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications. 641\u2013660."},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/2970276.2970313"},{"issue":"2","key":"e_1_3_2_12_2","doi-asserted-by":"crossref","first-page":"73","DOI":"10.1002\/stvr.313","article-title":"From genetic to bacteriological algorithms for mutation-based testing","volume":"15","author":"Baudry Benoit","year":"2005","unstructured":"Benoit Baudry, Franck Fleurey, Jean-Marc J\u00e9z\u00e9quel, and Yves Le Traon. 2005. From genetic to bacteriological algorithms for mutation-based testing. Softw. Test. Verif. Reliab. 15, 2 (2005), 73\u201396.","journal-title":"Softw. Test. Verif. Reliab."},{"key":"e_1_3_2_13_2","first-page":"54","volume-title":"Proceedings of the 34th IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201919)","author":"Behrang F.","year":"2019","unstructured":"F. Behrang and A. Orso. 2019. Test migration between mobile apps with similar functionality. In Proceedings of the 34th IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201919). 54\u201365."},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/QSIC.2014.40"},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/2509136.2509552"},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380402"},{"key":"e_1_3_2_17_2","volume-title":"Continuous Integration: Improving Software Quality and Reducing Risk","author":"Duvall Paul M.","year":"2007","unstructured":"Paul M. Duvall, Steve Matyas, and Andrew Glover. 2007. Continuous Integration: Improving Software Quality and Reducing Risk. Pearson Education."},{"key":"e_1_3_2_18_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00109"},{"key":"e_1_3_2_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/2001420.2001464"},{"key":"e_1_3_2_20_2","first-page":"419","volume-title":"Proceedings of the 33rd IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201918)","author":"Gao Xiang","year":"2018","unstructured":"Xiang Gao, Shin Hwei Tan, Zhen Dong, and Abhik Roychoudhury. 2018. Android testing via synthetic symbolic execution. In Proceedings of the 33rd IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201918). IEEE, 419\u2013429."},{"key":"e_1_3_2_21_2","volume-title":"Create and Manage Virtual Devices","year":"2021","unstructured":"Google. 2021. Create and Manage Virtual Devices. Retrieved from https:\/\/developer.android.com\/studio\/run\/managing-avds."},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00042"},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/2594368.2594390"},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2003.1201188"},{"key":"e_1_3_2_25_2","first-page":"349","volume-title":"Proceedings of the ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications","author":"Hu Yongjian","year":"2015","unstructured":"Yongjian Hu, Tanzirul Azim, and Iulian Neamtiu. 2015. Versatile yet lightweight record-and-replay for Android. In Proceedings of the ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. 349\u2013366."},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/2483760.2483777"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635929"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2014.39"},{"key":"e_1_3_2_29_2","first-page":"707","volume-title":"Soviet Physics Doklady","author":"Levenshtein Vladimir I.","year":"1966","unstructured":"Vladimir I. Levenshtein. 1966. Binary codes capable of correcting deletions, insertions, and reversals. In Soviet Physics Doklady, Vol. 10. 707\u2013710."},{"key":"e_1_3_2_30_2","volume-title":"Proceedings of the 35th IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201920)","author":"Lin J.","year":"2020","unstructured":"J. Lin, N. Salehnamadi, and S. Malek. 2020. Test automation in open-source Android apps: A large-scale empirical study. In Proceedings of the 35th IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201920)."},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106275"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2017.47"},{"key":"e_1_3_2_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2491450"},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635896"},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1145\/2931037.2931054"},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/2642937.2642991"},{"key":"e_1_3_2_37_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISSRE.2015.7381839"},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/2382756.2382798"},{"key":"e_1_3_2_39_2","first-page":"15","volume-title":"Proceedings of the IEEE\/ACM 39th International Conference on Software Engineering Companion (ICSE-C\u201917)","author":"Moran Kevin","year":"2017","unstructured":"Kevin Moran, Mario Linares-V\u00e1squez, Carlos Bernal-C\u00e1rdenas, Christopher Vendome, and Denys Poshyvanyk. 2017. CrashScope: A practical tool for automated testing of Android applications. In Proceedings of the IEEE\/ACM 39th International Conference on Software Engineering Companion (ICSE-C\u201917). IEEE, 15\u201318."},{"key":"e_1_3_2_40_2","volume-title":"Oracle VM VirtualBox","year":"2021","unstructured":"Oracle. 2021. Oracle VM VirtualBox. Retrieved from https:\/\/www.virtualbox.org\/."},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180183"},{"key":"e_1_3_2_42_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2013.37"},{"key":"e_1_3_2_43_2","doi-asserted-by":"publisher","DOI":"10.1145\/3293882.3330575"},{"key":"e_1_3_2_44_2","first-page":"1","volume-title":"Proceedings of the CHI Conference on Human Factors in Computing Systems","author":"Salehnamadi Navid","year":"2021","unstructured":"Navid Salehnamadi, Abdulaziz Alshayban, Jun-Wei Lin, Iftekhar Ahmed, Stacy Branham, and Sam Malek. 2021. Latte: Use-case and assistive-service driven automated accessibility testing framework for Android. In Proceedings of the CHI Conference on Human Factors in Computing Systems. 1\u201311."},{"key":"e_1_3_2_45_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2008.32"},{"key":"e_1_3_2_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106298"},{"key":"e_1_3_2_47_2","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2006.117"},{"key":"e_1_3_2_48_2","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468554"},{"key":"e_1_3_2_49_2","doi-asserted-by":"crossref","first-page":"250","DOI":"10.1007\/978-3-642-37057-1_19","volume-title":"Fundamental Approaches to Software Engineering","author":"Yang Wei","year":"2013","unstructured":"Wei Yang, Mukul R. Prasad, and Tao Xie. 2013. A grey-box approach for automated GUI-model generation of mobile applications. In Fundamental Approaches to Software Engineering. Springer Berlin, 250\u2013265."},{"key":"e_1_3_2_50_2","doi-asserted-by":"publisher","DOI":"10.1002\/stvr.435"},{"key":"e_1_3_2_51_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2012.6227157"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3571851","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3571851","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T17:48:48Z","timestamp":1750182528000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3571851"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,4,26]]},"references-count":50,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2023,7,31]]}},"alternative-id":["10.1145\/3571851"],"URL":"https:\/\/doi.org\/10.1145\/3571851","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,4,26]]},"assertion":[{"value":"2021-12-04","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-10-12","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-04-26","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}