{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,12]],"date-time":"2026-04-12T03:10:16Z","timestamp":1775963416648,"version":"3.50.1"},"reference-count":85,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2022,3,7]],"date-time":"2022-03-07T00:00:00Z","timestamp":1646611200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"NSF","award":["CCF-1652149"],"award-info":[{"award-number":["CCF-1652149"]}]},{"name":"NTU","award":["NGF-2017-03-033"],"award-info":[{"award-number":["NGF-2017-03-033"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2022,7,31]]},"abstract":"<jats:p>\n            The large demand of mobile devices creates significant concerns about the quality of mobile applications (apps). Developers heavily rely on bug reports in issue tracking systems to reproduce failures (e.g., crashes). However, the process of crash reproduction is often manually done by developers, making the resolution of bugs inefficient, especially given that bug reports are often written in natural language. To improve the productivity of developers in resolving bug reports, in this paper, we introduce a novel approach, called ReCDroid+, that can automatically reproduce crashes from bug reports for Android apps. ReCDroid+ uses a combination of\n            <jats:bold>natural language processing (NLP)<\/jats:bold>\n            , deep learning, and dynamic GUI exploration to synthesize event sequences with the goal of reproducing the reported crash. We have evaluated ReCDroid+ on 66 original bug reports from 37 Android apps. The results show that ReCDroid+ successfully reproduced 42 crashes (63.6% success rate) directly from the textual description of the manually reproduced bug reports. A user study involving 12 participants demonstrates that ReCDroid+ can improve the productivity of developers when resolving crash bug reports.\n          <\/jats:p>","DOI":"10.1145\/3488244","type":"journal-article","created":{"date-parts":[[2022,3,7]],"date-time":"2022-03-07T10:24:54Z","timestamp":1646648694000},"page":"1-33","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":33,"title":["ReCDroid+: Automated End-to-End Crash Reproduction from Bug Reports for Android Apps"],"prefix":"10.1145","volume":"31","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-9581-2866","authenticated-orcid":false,"given":"Yu","family":"Zhao","sequence":"first","affiliation":[{"name":"University of Central Missouri, Warrensburg, MO, USA"}]},{"given":"Ting","family":"Su","sequence":"additional","affiliation":[{"name":"East China Normal University, Shanghai, China"}]},{"given":"Yang","family":"Liu","sequence":"additional","affiliation":[{"name":"Nanyang Technological University, Nanyang Avenue, Singapore"}]},{"given":"Wei","family":"Zheng","sequence":"additional","affiliation":[{"name":"Northwestern Polytechnical University, Xi\u2019an, Shannxi, China"}]},{"given":"Xiaoxue","family":"Wu","sequence":"additional","affiliation":[{"name":"Yangzhou University, Yangzhou, Jiangsu, China"}]},{"given":"Ramakanth","family":"Kavuluru","sequence":"additional","affiliation":[{"name":"University of Kentucky, Lexington, KY, USA"}]},{"given":"William G. J.","family":"Halfond","sequence":"additional","affiliation":[{"name":"University of Southern California, Los Angeles, CA, USA"}]},{"given":"Tingting","family":"Yu","sequence":"additional","affiliation":[{"name":"University of Cincinnati, Cincinnati, OH, USA"}]}],"member":"320","published-online":{"date-parts":[[2022,3,7]]},"reference":[{"key":"e_1_3_2_2_2","unstructured":"2013. acv-11. https:\/\/github.com\/robotmedia\/droid-comic-viewer\/issues\/11."},{"key":"e_1_3_2_3_2","unstructured":"2014. lxml.etree. https:\/\/lxml.de\/tutorial.html."},{"key":"e_1_3_2_4_2","unstructured":"2015. Mark message as unread make app crash. https:\/\/github.com\/moezbhatti\/qksms\/issues\/241."},{"key":"e_1_3_2_5_2","article-title":"Google Code","year":"2016","unstructured":"2016. Google Code. https:\/\/code.google.com.","journal-title":"https:\/\/code.google.com"},{"key":"e_1_3_2_6_2","article-title":"Google Code Archive","year":"2016","unstructured":"2016. Google Code Archive. https:\/\/code.google.com\/archive\/.","journal-title":"https:\/\/code.google.com\/archive\/"},{"key":"e_1_3_2_7_2","article-title":"UI Automator","year":"2018","unstructured":"2018. UI Automator. https:\/\/github.com\/xiaocong\/uiautomator.","journal-title":"https:\/\/github.com\/xiaocong\/uiautomator"},{"key":"e_1_3_2_8_2","article-title":"Word2vec","year":"2018","unstructured":"2018. Word2vec. https:\/\/github.com\/dav\/word2vec.","journal-title":"https:\/\/github.com\/dav\/word2vec"},{"key":"e_1_3_2_9_2","article-title":"ReCDroid","year":"2019","unstructured":"2019. ReCDroid. https:\/\/github.com\/AndroidTestBugReport\/ReCDroid.","journal-title":"https:\/\/github.com\/AndroidTestBugReport\/ReCDroid"},{"key":"e_1_3_2_10_2","article-title":"UI\/Application Exerciser Monkey","year":"2019","unstructured":"2019. UI\/Application Exerciser Monkey. https:\/\/developer.android.com\/studio\/test\/monkey.html.","journal-title":"https:\/\/developer.android.com\/studio\/test\/monkey.html"},{"key":"e_1_3_2_11_2","article-title":"22 patterns","year":"2020","unstructured":"2020. 22 patterns. https:\/\/github.com\/AndroidTestBugReport\/ReCDroid\/blob\/master\/nlp%20pattern\/grammar%20patterns.xlsx.","journal-title":"https:\/\/github.com\/AndroidTestBugReport\/ReCDroid\/blob\/master\/nlp%20pattern\/grammar%20patterns.xlsx"},{"key":"e_1_3_2_12_2","article-title":"APPLAUSE","year":"2020","unstructured":"2020. APPLAUSE. https:\/\/www.applause.com\/blog\/app-abandonment-bug-testing.","journal-title":"https:\/\/www.applause.com\/blog\/app-abandonment-bug-testing"},{"key":"e_1_3_2_13_2","article-title":"GitHub","year":"2020","unstructured":"2020. GitHub. https:\/\/github.com.","journal-title":"https:\/\/github.com"},{"key":"e_1_3_2_14_2","article-title":"Google Play Data","year":"2020","unstructured":"2020. Google Play Data. https:\/\/www.statista.com\/statistics\/266210\/number-of-available-applications-in-the-google-play-store.","journal-title":"https:\/\/www.statista.com\/statistics\/266210\/number-of-available-applications-in-the-google-play-store"},{"key":"e_1_3_2_15_2","article-title":"maxPool","year":"2020","unstructured":"2020. maxPool. https:\/\/keras.io\/api\/layers\/pooling_layers\/.","journal-title":"https:\/\/keras.io\/api\/layers\/pooling_layers\/"},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4614-3223-4_6"},{"key":"e_1_3_2_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/2351676.2351717"},{"key":"e_1_3_2_18_2","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2014.55"},{"key":"e_1_3_2_19_2","doi-asserted-by":"publisher","DOI":"10.5555\/786767.786786"},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/1595696.1595766"},{"key":"e_1_3_2_21_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. 641\u2013660."},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.2498\/cit.2006.04.03"},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1177\/001316448104100307"},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.5555\/176313.176316"},{"key":"e_1_3_2_25_2","unstructured":"Bugzilla 2016. Bugzilla keyword descriptions. https:\/\/bugzilla.mozilla.org\/describekeywords.cgi."},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/3338906.3338947"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106285"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00070"},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.1162\/tacl_a_00104"},{"key":"e_1_3_2_30_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_31_2","doi-asserted-by":"publisher","DOI":"10.1145\/3238147.3238170"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180222"},{"key":"e_1_3_2_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/3213846.3213869"},{"key":"e_1_3_2_34_2","first-page":"14","article-title":"Continuous integration","volume":"122","author":"Fowler Martin","year":"2006","unstructured":"Martin Fowler and Matthew Foemmel. 2006. Continuous integration. Thought-Works.http:\/\/www.thoughtworks.com\/ContinuousIntegration.pdf 122 (2006), 14.","journal-title":"Thought-Works."},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2010.5463340"},{"key":"e_1_3_2_36_2","doi-asserted-by":"crossref","unstructured":"Felix A. Gers J\u00fcrgen Schmidhuber and Fred Cummins. 1999. Learning to forget: Continual prediction with LSTM.","DOI":"10.1049\/cp:19991218"},{"key":"e_1_3_2_37_2","doi-asserted-by":"publisher","DOI":"10.1145\/3238147.3238204"},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/2594368.2594390"},{"key":"e_1_3_2_39_2","article-title":"spaCy 2: Natural language understanding with bloom embeddings, convolutional neural networks and incremental parsing","author":"Honnibal Matthew","year":"2017","unstructured":"Matthew Honnibal and Ines Montani. 2017. spaCy 2: Natural language understanding with bloom embeddings, convolutional neural networks and incremental parsing. To Appear.","journal-title":"To Appear"},{"key":"e_1_3_2_40_2","doi-asserted-by":"publisher","DOI":"10.1145\/2666356.2594330"},{"key":"e_1_3_2_41_2","volume-title":"SymDroid: Symbolic Execution for Dalvik Bytecode","author":"Jeon Jinseong","year":"2012","unstructured":"Jinseong Jeon, Kristopher K. Micinski, and Jeffrey S. Foster. 2012. SymDroid: Symbolic Execution for Dalvik Bytecode. Technical Report."},{"key":"e_1_3_2_42_2","doi-asserted-by":"publisher","DOI":"10.1145\/2642937.2643009"},{"key":"e_1_3_2_43_2","doi-asserted-by":"publisher","DOI":"10.5555\/2337223.2337279"},{"key":"e_1_3_2_44_2","article-title":"Bag of tricks for efficient text classification","author":"Joulin Armand","year":"2016","unstructured":"Armand Joulin, Edouard Grave, Piotr Bojanowski, and Tomas Mikolov. 2016. Bag of tricks for efficient text classification. arXiv preprint arXiv:1607.01759 (2016).","journal-title":"arXiv preprint arXiv:1607.01759"},{"key":"e_1_3_2_45_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-84628-754-1"},{"key":"e_1_3_2_46_2","unstructured":"KBP 2012. Knowledge Base Population. https:\/\/nlp.stanford.edu\/projects\/kbp\/."},{"key":"e_1_3_2_47_2","article-title":"Convolutional neural networks for sentence classification","author":"Kim Yoon","year":"2014","unstructured":"Yoon Kim. 2014. Convolutional neural networks for sentence classification. arXiv preprint arXiv:1408.5882 (2014).","journal-title":"arXiv preprint arXiv:1408.5882"},{"key":"e_1_3_2_48_2","doi-asserted-by":"publisher","DOI":"10.1162\/tacl_a_00134"},{"key":"e_1_3_2_49_2","first-page":"arXiv\u20131901","article-title":"A deep learning based approach to automated Android app testing","author":"Li Yuanchun","year":"2019","unstructured":"Yuanchun Li, Ziyue Yang, Yao Guo, and Xiangqun Chen. 2019. A deep learning based approach to automated Android app testing. arXiv E-prints (2019), arXiv\u20131901.","journal-title":"arXiv E-prints"},{"key":"e_1_3_2_50_2","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2015.18"},{"key":"e_1_3_2_51_2","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2491450"},{"key":"e_1_3_2_52_2","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635896"},{"key":"e_1_3_2_53_2","doi-asserted-by":"publisher","DOI":"10.1145\/2931037.2931054"},{"key":"e_1_3_2_54_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2016.2630689"},{"key":"e_1_3_2_55_2","first-page":"41","volume-title":"AAAI-98 Workshop on Learning for Text Categorization","author":"McCallum Andrew","year":"1998","unstructured":"Andrew McCallum, Kamal Nigam, et\u00a0al. 1998. A comparison of event models for Naive Bayes text classification. In AAAI-98 Workshop on Learning for Text Categorization, Vol. 752. Citeseer, 41\u201348."},{"key":"e_1_3_2_56_2","doi-asserted-by":"publisher","DOI":"10.1109\/TASLP.2014.2383614"},{"key":"e_1_3_2_57_2","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786857"},{"key":"e_1_3_2_58_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2016.34"},{"key":"e_1_3_2_59_2","doi-asserted-by":"publisher","DOI":"10.20982\/tqmp.04.1.p013"},{"key":"e_1_3_2_60_2","unstructured":"Frank Padberg Philip Pfaffe and Martin Blersch. 2013. On mining concurrency defect-related reports from bug repositories. 10."},{"key":"e_1_3_2_61_2","doi-asserted-by":"publisher","DOI":"10.5555\/1953048.2078195"},{"key":"e_1_3_2_62_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2013.2297712"},{"key":"e_1_3_2_63_2","doi-asserted-by":"publisher","DOI":"10.5555\/2818754.2818836"},{"key":"e_1_3_2_64_2","first-page":"567","article-title":"Stochastic dual coordinate ascent methods for regularized loss minimization","volume":"14","author":"Shalev-Shwartz Shai","year":"2013","unstructured":"Shai Shalev-Shwartz and Tong Zhang. 2013. Stochastic dual coordinate ascent methods for regularized loss minimization. Journal of Machine Learning Research 14, Feb (2013), 567\u2013599.","journal-title":"Journal of Machine Learning Research"},{"key":"e_1_3_2_65_2","doi-asserted-by":"publisher","DOI":"10.5555\/2627435.2670313"},{"key":"e_1_3_2_66_2","doi-asserted-by":"publisher","DOI":"10.1145\/2889160.2891043"},{"key":"e_1_3_2_67_2","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106298"},{"key":"e_1_3_2_68_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2011.6100061"},{"key":"e_1_3_2_69_2","first-page":"145","volume-title":"ACM SIGOPS Operating Systems Review","author":"Tan Lin","year":"2007","unstructured":"Lin Tan, Ding Yuan, Gopal Krishna, and Yuanyuan Zhou. 2007. iComment: Bugs or bad comments? In ACM SIGOPS Operating Systems Review, Vol. 41. 145\u2013158."},{"key":"e_1_3_2_70_2","doi-asserted-by":"publisher","DOI":"10.1145\/2970276.2970320"},{"key":"e_1_3_2_71_2","article-title":"The unreasonable effectiveness of the forget gate","author":"Westhuizen Jos Van Der","year":"2018","unstructured":"Jos Van Der Westhuizen and Joan Lasenby. 2018. The unreasonable effectiveness of the forget gate. arXiv preprint arXiv:1804.04849.","journal-title":"arXiv preprint arXiv:1804.04849"},{"key":"e_1_3_2_72_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2018.03.008"},{"key":"e_1_3_2_73_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICDM.2007.86"},{"key":"e_1_3_2_74_2","first-page":"155","volume-title":"ACM SIGPLAN Notices","author":"Weeratunge Dasarath","year":"2010","unstructured":"Dasarath Weeratunge, Xiangyu Zhang, and Suresh Jagannathan. 2010. Analyzing multicore dumps to facilitate concurrency bug reproduction. In ACM SIGPLAN Notices, Vol. 45. 155\u2013166."},{"key":"e_1_3_2_75_2","doi-asserted-by":"publisher","DOI":"10.5555\/2820282.2820291"},{"key":"e_1_3_2_76_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2015.78"},{"key":"e_1_3_2_77_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-37057-1_19"},{"key":"e_1_3_2_78_2","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106266"},{"key":"e_1_3_2_79_2","doi-asserted-by":"publisher","DOI":"10.5555\/2337223.2337236"},{"key":"e_1_3_2_80_2","doi-asserted-by":"publisher","DOI":"10.5555\/2601851"},{"key":"e_1_3_2_81_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2014.31"},{"key":"e_1_3_2_82_2","doi-asserted-by":"publisher","DOI":"10.1145\/1755913.1755946"},{"key":"e_1_3_2_83_2","first-page":"649","volume-title":"Advances in Neural Information Processing Systems","author":"Zhang Xiang","year":"2015","unstructured":"Xiang Zhang, Junbo Zhao, and Yann LeCun. 2015. Character-level convolutional networks for text classification. In Advances in Neural Information Processing Systems. 649\u2013657."},{"key":"e_1_3_2_84_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-22183-0_27"},{"key":"e_1_3_2_85_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-22888-0_8"},{"key":"e_1_3_2_86_2","article-title":"A C-LSTM neural network for text classification","author":"Zhou Chunting","year":"2015","unstructured":"Chunting Zhou, Chonglin Sun, Zhiyuan Liu, and Francis Lau. 2015. A C-LSTM neural network for text classification. arXiv preprint arXiv:1511.08630.","journal-title":"arXiv preprint arXiv:1511.08630"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3488244","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3488244","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3488244","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T19:30:23Z","timestamp":1750188623000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3488244"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,3,7]]},"references-count":85,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2022,7,31]]}},"alternative-id":["10.1145\/3488244"],"URL":"https:\/\/doi.org\/10.1145\/3488244","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,3,7]]},"assertion":[{"value":"2020-09-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-09-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-03-07","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}