一句话:提出 Yakusu,结合程序分析与自然语言处理,从移动应用缺陷报告自动生成可执行测试用例。
用户提交的缺陷报告数量庞大,开发者往往需要人工阅读报告并复现问题,这一过程极为耗时。本文提出 Yakusu,一种将程序分析与自然语言处理相结合的技术,能够从缺陷报告中自动生成可执行的测试用例:它从自然语言描述中抽取复现步骤与应用状态信息,并将其映射到 Android 应用的 UI 元素与操作序列上,从而合成测试。作者在超过 60 个来自真实世界应用的缺陷报告上进行了实证评估,成功率为 59.7%,即对多数报告开发者无需再人工研究报告即可直接使用生成的测试复现问题;其余失败案例多归因于可在未来工作中解决的局限。
When users experience a software failure, they have the option of submitting a bug report and provide information about the failure and how it 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.
DOI 原文 ·
@inproceedings{paperbot4838,
title = {Automatically translating bug reports into test cases for mobile apps},
author = {Mattia Fazzini and Martin Prammer and Marcelo d'Amorim and Alessandro Orso},
booktitle = {ISSTA},
year = {2018},
doi = {10.1145/3213846.3213869}
}