一句话:用图像处理从录屏缺陷报告中抽取关键帧并映射到 GUI 状态图,自动生成可复现缺陷的执行轨迹。
缺陷报告对软件维护至关重要,但非技术用户难以用文字清晰描述缺陷的发生过程,因此越来越多的用户改用录屏来报告缺陷。然而录屏往往冗长、动作不明确,开发者据此复现缺陷仍然繁琐耗时。本文提出轻量级方法 GIFdroid,自动重放可视化缺陷报告中的执行轨迹:它采用图像处理技术从录屏中提取关键帧,将这些关键帧映射到 GUI 转移图中的状态,并据此生成触发缺陷的状态执行轨迹,从而帮助开发者快速复现问题。作者通过自动化实验与用户研究评估了该方法,结果表明其在准确性、效率与实用性方面均有良好表现。
Bug reports are vital for software maintenance that allow users to inform developers of the problems encountered while using software. However, it is difficult for non-technical users to write clear descriptions about the bug occurrence. Therefore, more and more users begin to record the screen for reporting bugs as it is easy to be created and contains detailed procedures triggering the bug. But it is still tedious and time-consuming for developers to reproduce the bug due to the length and unclear actions within the recording. To overcome these issues, we propose GIFdroid, a light-weight approach to automatically replay the execution trace from visual bug reports. GIFdroid adopts image processing techniques to extract the keyframes from the recording, map them to states in GUI Transitions Graph, and generate the execution trace of those states to trigger the bug. Our automated experiments and user study demonstrate its accuracy, efficiency, and usefulness of the approach.