一句话:提出 ReCDroid,结合 NLP 与动态 GUI 探索从自然语言缺陷报告自动合成事件序列以复现 Android 应用崩溃。
移动应用崩溃复现通常依赖开发者手动阅读自然语言缺陷报告,效率低下。ReCDroid 面向 Android 应用,将自然语言处理与动态 GUI 探索结合,从缺陷报告中提取崩溃相关信息,并合成可触发目标崩溃的事件序列,实现自动复现。作者在 33 个 Android 应用的 51 份原始缺陷报告上评估,成功复现 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.
@inproceedings{ZhaoYSLZZH19,
title = {ReCDroid: Automatically Reproducing Android Application Crashes from Bug Reports},
author = {Yu Zhao and Tingting Yu and Ting Su and Yang Liu and Wei Zheng and Jingzhi Zhang and William G.J. Halfond},
booktitle = {ICSE},
year = {2019},
doi = {10.1109/icse.2019.00030}
}