{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,10]],"date-time":"2026-10-10T08:04:12Z","timestamp":1791619452162,"version":"4.3.4"},"reference-count":47,"publisher":"Association for Computing Machinery (ACM)","issue":"10","license":[{"start":{"date-parts":[[2013,10,29]],"date-time":"2013-10-29T00:00:00Z","timestamp":1383004800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGPLAN Not."],"published-print":{"date-parts":[[2013,11,12]]},"abstract":"<jats:p>\n            Smartphones and tablets with rich graphical user interfaces (GUI) are becoming increasingly popular. Hundreds of thousands of specialized applications, called apps, are available for such mobile platforms. Manual testing is the most popular technique for testing graphical user interfaces of such apps. Manual testing is often tedious and error-prone. In this paper, we propose an automated technique, called\n            <jats:italic>Swift-Hand<\/jats:italic>\n            , for generating sequences of test inputs for Android apps. The technique uses machine learning to learn a model of the app during testing, uses the learned model to generate user inputs that visit unexplored states of the app, and uses the execution of the app on the generated inputs to refine the model. A key feature of the testing algorithm is that it avoids restarting the app, which is a significantly more expensive operation than executing the app on a sequence of inputs. An important insight behind our testing algorithm is that we do not need to learn a precise model of an app, which is often computationally intensive, if our goal is to simply guide test execution into unexplored parts of the state space. We have implemented our testing algorithm in a publicly available tool for Android apps written in Java. Our experimental results show that we can achieve significantly better coverage than traditional random testing and L*-based testing in a given time budget. Our algorithm also reaches peak coverage faster than both random and L*-based testing.\n          <\/jats:p>","DOI":"10.1145\/2544173.2509552","type":"journal-article","created":{"date-parts":[[2013,11,26]],"date-time":"2013-11-26T13:23:15Z","timestamp":1385472195000},"page":"623-640","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":115,"title":["Guided GUI testing of android apps with minimal restart and approximate learning"],"prefix":"10.1145","volume":"48","author":[{"given":"Wontae","family":"Choi","sequence":"first","affiliation":[{"name":"University of California, Berkeley, CA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"George","family":"Necula","sequence":"additional","affiliation":[{"name":"University of California, Berkeley, CA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Koushik","family":"Sen","sequence":"additional","affiliation":[{"name":"University of California, Berkeley, CA, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2013,10,29]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Managing the Activity Lifecycle. http:\/\/developer.android.com\/training\/basics\/activity-lifecycle\/index.html.  Managing the Activity Lifecycle. http:\/\/developer.android.com\/training\/basics\/activity-lifecycle\/index.html."},{"key":"e_1_2_1_2_1","unstructured":"MonkeyRunner. http:\/\/developer.android.com\/tools\/help\/monkeyrunner_concepts.html.  MonkeyRunner. http:\/\/developer.android.com\/tools\/help\/monkeyrunner_concepts.html."},{"key":"e_1_2_1_3_1","unstructured":"UI\/Application Exerciser Monkey. http:\/\/developer.android.com\/tools\/help\/monkey.html.  UI\/Application Exerciser Monkey. http:\/\/developer.android.com\/tools\/help\/monkey.html."},{"key":"e_1_2_1_4_1","unstructured":"axml read and write Android binary xml files. http:\/\/code.google.com\/p\/axml\/ 2012.  axml read and write Android binary xml files. http:\/\/code.google.com\/p\/axml\/ 2012."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1040305.1040314"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2351676.2351717"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2393596.2393666"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10270-004-0077-7"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/322326.322334"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/0890-5401(87)90052-6"},{"key":"e_1_2_1_11_1","first-page":"34","volume-title":"12th International Symposium on Software Reliability Engineering (ISSRE'01)","author":"Belli F.","unstructured":"F. Belli . Finite-state testing and analysis of graphical user interfaces . In 12th International Symposium on Software Reliability Engineering (ISSRE'01) , page 34 . IEEE Computer Society, 2001. F. Belli. Finite-state testing and analysis of graphical user interfaces. In 12th International Symposium on Software Reliability Engineering (ISSRE'01), page 34. IEEE Computer Society, 2001."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-31984-9_14"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.5555\/1765871.1765903"},{"key":"e_1_2_1_14_1","first-page":"115","volume-title":"ICGI","author":"Coste F.","year":"2004","unstructured":"F. Coste , D. Fredouille , C. Kermorvant , and C. de la Higuera. Introducing domain and typing bias in automata inference . In ICGI , pages 115 -- 126 , 2004 . F. Coste, D. Fredouille, C. Kermorvant, and C. de la Higuera. Introducing domain and typing bias in automata inference. In ICGI, pages 115--126, 2004."},{"key":"e_1_2_1_15_1","series-title":"Series in Machine Perception and Artificial Intelligence","first-page":"99","volume-title":"Advances in Structural and Syntactic Pattern Recognition","author":"Departarnento J. N.","year":"1992","unstructured":"J. N. Departarnento and P. Garcia . Identifying regular languages in polynomial . In Advances in Structural and Syntactic Pattern Recognition , volume 5 of Series in Machine Perception and Artificial Intelligence , pages 99 -- 108 . World Scientific , 1992 . J. N. Departarnento and P. Garcia. Identifying regular languages in polynomial. In Advances in Structural and Syntactic Pattern Recognition, volume 5 of Series in Machine Perception and Artificial Intelligence, pages 99--108. World Scientific, 1992."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065036"},{"key":"e_1_2_1_17_1","first-page":"521","volume-title":"CAV","author":"Groce A.","year":"2002","unstructured":"A. Groce , D. Peled , and M. Yannakakis . AMC: An adaptive model checker . In CAV , pages 521 -- 525 , 2002 . A. Groce, D. Peled, and M. Yannakakis. AMC: An adaptive model checker. In CAV, pages 521--525, 2002."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1093\/jigpal\/jzl007"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-34026-0_33"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1982185.1982504"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-88009-7_11"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0054059"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/130385.130390"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1025055424017"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2491450"},{"key":"e_1_2_1_26_1","first-page":"134","volume-title":"TAP","author":"Meinke K.","year":"2011","unstructured":"K. Meinke and M. A. Sindhu . Incremental learning-based testing for reactive systems . In TAP , pages 134 -- 151 , 2011 . K. Meinke and M. A. Sindhu. Incremental learning-based testing for reactive systems. In TAP, pages 134--151, 2011."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-34026-0_32"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1002\/stvr.v17:3"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2109205.2109208"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2382756.2382798"},{"key":"e_1_2_1_31_1","volume-title":"ASMDEX","author":"Nevo J.","unstructured":"J. Nevo and P. Cr\u00e9gut . ASMDEX . http:\/\/asm.ow2.org\/asmdex-index.html, 2012. J. Nevo and P. Cr\u00e9gut. ASMDEX. http:\/\/asm.ow2.org\/asmdex-index.html, 2012."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1468075.1468083"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/2338965.2336765"},{"key":"e_1_2_1_34_1","first-page":"225","volume-title":"FORTE","author":"Peled D.","year":"1999","unstructured":"D. Peled , M. Y. Vardi , and M. Yannakakis . Black box checking . In FORTE , pages 225 -- 240 , 1999 . D. Peled, M. Y. Vardi, and M. Yannakakis. Black box checking. In FORTE, pages 225--240, 1999."},{"key":"e_1_2_1_35_1","first-page":"136","volume-title":"Haifa Verification Conference","author":"Raffelt H.","year":"2007","unstructured":"H. Raffelt , B. Steffen , and T. Margaria . Dynamic testing via automata learning . In Haifa Verification Conference , pages 136 -- 152 , 2007 . H. Raffelt, B. Steffen, and T. Margaria. Dynamic testing via automata learning. In Haifa Verification Conference, pages 136--152, 2007."},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2435349.2435379"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/ITNG.2007.9"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/73007.73047"},{"key":"e_1_2_1_39_1","first-page":"80","volume-title":"FTCS","author":"Shehady R. K.","year":"1997","unstructured":"R. K. Shehady and D. P. Siewiorek . A methodology to automate user interface testing using variable finite state machines . In FTCS , pages 80 -- 88 , 1997 . R. K. Shehady and D. P. Siewiorek. A methodology to automate user interface testing using variable finite state machines. In FTCS, pages 80--88, 1997."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2011.11"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.5555\/1928028.1928038"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-05089-3_20"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.5555\/851024.856239"},{"key":"e_1_2_1_44_1","first-page":"60","volume-title":"FATES","author":"Xie T.","year":"2003","unstructured":"T. Xie and D. Notkin . Mutually enhancing test generation and specification inference . In FATES , pages 60 -- 69 , 2003 . T. Xie and D. Notkin. Mutually enhancing test generation and specification inference. In FATES, pages 60--69, 2003."},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-37057-1_19"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1321631.1321695"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2009.11.009"}],"container-title":["ACM SIGPLAN Notices"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2544173.2509552","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2544173.2509552","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T07:28:47Z","timestamp":1750231727000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2544173.2509552"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,10,29]]},"references-count":47,"journal-issue":{"issue":"10","published-print":{"date-parts":[[2013,11,12]]}},"alternative-id":["10.1145\/2544173.2509552"],"URL":"https:\/\/doi.org\/10.1145\/2544173.2509552","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/2509136.2509552","asserted-by":"subject"}]},"ISSN":["0362-1340","1558-1160"],"issn-type":[{"value":"0362-1340","type":"print"},{"value":"1558-1160","type":"electronic"}],"subject":[],"published":{"date-parts":[[2013,10,29]]},"assertion":[{"value":"2013-10-29","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}