The HTML5 <canvas> is widely used to display high quality graphics in web applications. However, the combination of web, GUI, and visual techniques that are required to build <canvas> applications, together with the lack of testing and debugging tools, makes developing such applications very challenging. To help direct future research on testing <canvas> applications, in this paper we present a taxonomy of <canvas> bugs. First, we extracted 2,403 <canvas>-related bug reports from 123 open source GitHub projects that use the HTML5 <canvas>. Second, we constructed our taxonomy by manually classifying a statistically representative random sample of 332 bug reports. Our manual classification identified five broad categories of <canvas> bugs, such as Visual and Performance bugs. We found that Visual bugs are the most frequent (35%), while Performance bugs are relatively infrequent (5%). We also found that many <canvas> bugs that present themselves visually on the <canvas> are actually caused by other components of the web application. Our taxonomy of <canvas> bugs can be used to steer future research into <canvas> bugs and testing.
翻译:HTML5 < canvas > 广泛用于在网络应用程序中显示高质量的图形。 然而,由于网络、 GUI 和视觉技术的结合,建设 < canvas> 应用程序所需的网络、 GUI 和视觉技术的结合,加上缺乏测试和调试工具,使得开发此类应用程序非常具有挑战性。为了帮助指导未来测试 < canvas > 应用程序的研究,我们在本文中介绍了一个 < canvas > 错误的分类学。 首先,我们从使用 HTML5 < canvas > 的123个开放源 GitHub 项目中提取了2 403 < canvas > 相关错误报告。 其次,我们通过手动对332个错误报告具有统计代表性的随机样本进行分类,从而构建了我们的分类学。 我们的手工分类确定了5个大类的 < canvas > 错误,例如视觉和性能错误。 我们发现视觉错误是最常见的(35%),而性能虫则相对不常见(5%) 。 我们还发现,在 < canvas > 上显示自己在 < cast > 上看到的错误实际上是由网络应用程序中的其他组成部分造成的。 我们的'tabastocastoscast'storstors to be to be to be to be to be to be todalding to