Abstract
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.
Original language | English |
---|---|
Title of host publication | Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering, ICSE 2019 |
Pages | 128-139 |
Number of pages | 12 |
ISBN (Electronic) | 9781728108698 |
DOIs | |
State | Published - May 2019 |
Event | 41st IEEE/ACM International Conference on Software Engineering, ICSE 2019 - Montreal, Canada Duration: May 25 2019 → May 31 2019 |
Publication series
Name | Proceedings - International Conference on Software Engineering |
---|---|
Volume | 2019-May |
ISSN (Print) | 0270-5257 |
Conference
Conference | 41st IEEE/ACM International Conference on Software Engineering, ICSE 2019 |
---|---|
Country/Territory | Canada |
City | Montreal |
Period | 5/25/19 → 5/31/19 |
Bibliographical note
Publisher Copyright:© 2019 IEEE.
Keywords
- Android
- Bug reproduction
- Natural language processing
ASJC Scopus subject areas
- Software