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.
翻译:错误报告对于软件维护至关重要,使用户能够告知开发者在使用软件时遇到的问题。 但是,非技术用户很难写出关于错误发生情况的清晰描述。 因此,越来越多的用户开始记录报告错误的屏幕,因为它很容易创建,并包含触发错误的详细程序。 但是,由于记录中的长度和动作不明确,开发者复制错误仍然乏味和耗时。 为了克服这些问题,我们提议了一种轻量级的GIFdroid方法,即自动重播视觉错误报告执行跟踪的轻量级方法。 GIFdroid采用图像处理技术,从记录中提取关键框架,将其映射到图形转换图中的状态,并生成这些状态的行踪以触发错误。我们的自动实验和用户研究证明了其准确性、效率和实用性。