ReCDroid: Automatically Reproducing Android Application Crashes from Bug Reports

ReCDroid: Automatically Reproducing Android Application Crashes from Bug Reports
复制标题

DOI:
10.1109/icse.2019.00030
复制
发表时间:
2019-05
期刊:
2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)
影响因子:
--
通讯作者:
Yu Zhao;Tingting Yu;Ting Su;Yang Liu;Wei Zheng;Jingzhi Zhang;William G. J. Halfond
Yu Zhao;Tingting Yu;Ting Su;Yang Liu;Wei Zheng;Jingzhi Zhang;William G. J. Halfond
中科院分区:
其他
文献类型:
--
作者:
Yu Zhao;Tingting Yu;Ting Su;Yang Liu;Wei Zheng;Jingzhi Zhang;William G. J. Halfond

文献摘要

被引文献

相似文献

移动设备的巨大需求引发了人们对移动应用程序(App)质量的极大担忧。开发人员在很大程度上依赖问题跟踪系统中的错误报告来重现故障(例如崩溃)。然而,崩溃再现的过程通常是由开发人员手动完成的,这使得错误的解决效率低下,特别是错误报告通常是用自然语言编写的。为了提高开发人员解析错误报告的效率,在本文中,我们引入了一种名为ReCDroid的新方法,它可以自动从Android应用程序的错误报告中重现崩溃。ReCDroid使用自然语言处理(NLP)和动态图形用户界面探索的组合来合成事件序列,目的是重现报告的崩溃。我们已经对来自33个Android应用程序的51个原始错误报告对ReCDroid进行了评估。结果表明,ReCDroid直接从错误报告的文本描述中成功复制了33个崩溃,成功率为63.5%。一项涉及12名参与者的用户研究表明,ReCDroid在解决崩溃错误报告时可以提高开发人员的工作效率。
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 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 natural language processing (NLP) and dynamic GUI exploration to synthesize event sequences with the goal of reproducing the reported crash. We have evaluated ReCDroid on 51 original bug reports from 33 Android apps. The results show that ReCDroid successfully reproduced 33 crashes (63.5% success rate) directly from the textual description of bug reports. A user study involving 12 participants demonstrates that ReCDroid can improve the productivity of developers when resolving crash bug reports.