When users experience a software failure, they have the option of submitting a bug report and provide information about the failure and howit happened. If the bug report contains enough information, developers can then try to recreate the issue and investigate it, so as to eliminate its causes. Unfortunately, the number of bug reports filed by users is typically large, and the tasks of analyzing bug reports and reproducing the issues described therein can be extremely time consuming. To help make this process more efficient, in this paper we propose Yakusu, a technique that uses a combination of program analysis and natural language processing techniques to generate executable test cases from bug reports. We implemented Yakusu for Android apps and performed an empirical evaluation on a set of over 60 real bug reports for different real-world apps. Overall, our technique was successful in 59.7% of the cases; that is, for a majority of the bug reports, developers would not have to study the report to reproduce the issue described and could simply use the test cases automatically generated by Yakusu. Furthermore, in many of the remaining cases, Yakusu was unsuccessful due to limitations that can be addressed in future work.
|Original language||English (US)|
|Title of host publication||ISSTA 2018 - Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis|
|Editors||Eric Bodden, Frank Tip|
|Publisher||Association for Computing Machinery, Inc|
|Number of pages||12|
|State||Published - Jul 12 2018|
|Event||27th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2018 - Amsterdam, Netherlands|
Duration: Jul 16 2018 → Jul 21 2018
|Name||ISSTA 2018 - Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis|
|Conference||27th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2018|
|Period||7/16/18 → 7/21/18|
Bibliographical noteFunding Information:
Jacob Eisenstein provided useful input and feedback on the NLP part of our technique. This work was partially supported by NSF under awards CCF-1161821 and CCF-1563991.
© 2018 Association for Computing Machinery.
- Mobile testing and debugging
- Natural language processing