An Exploratory Study of Bugs in Extended Reality Applications on the Web

Introduction

Extended Reality (XR) technologies are becoming increasingly popular in recent years. In order to help developers deploy their XR applications on the Web, W3C has released a set of standards, known as the WebXR Device API (WebXR for short), in 2019. WebXR enables browsers to use special XR devices to interact with users. With the support of WebXR, users can access XR applications in mainstream browsers. Given such convenience for both users and developers, a growing number of WebXR projects have been developed and deployed in practice.

Despite the growing popularity and impact of WebXR, we noticed that many WebXR applications are insufficiently tested before being released or deployed. These applications suffer from various bugs that can degrade user experience or cause undesirable consequences. However, both practitioners and researchers have very limited understanding on the bugs in the WebXR ecosystem (WebXR bugs for short), which impedes the advance of useful techniques for assuring the reliability of WebXR applications. To bridge this gap, we conducted the first large-scale empirical study of real-world WebXR bugs to figure out their common characteristics. We collected 368 real bugs by analyzing issue reports and release notes in 33 WebXR projects hosted on GitHub. Via a seven-round manual analysis of these bugs, we built a taxonomy of WebXR bugs according to their symptoms and root causes. Furthermore, to understand the uniqueness of WebXR bugs, we compared the findings of our work with those of existing studies on bugs in conventional JavaScript programs and web applications. We identified several types of bugs that are specific to WebXR applications. We hope that our findings can inspire future researches on relevant topics and we also released our bug dataset to facilitate future studies.

Our Contribution

  • To the best of our knowledge, we conducted the first large-scale empirical study of bugs in real-world WebXR projects and built the bug taxonomy. Our findings can help better understand WebXR bugs and shed light on future research.

  • We compared WebXR bugs and bugs that often occur in conventional JavaScript programs and web applications. This comparison reveals the uniqueness of WebXR bugs.

  • To facilitate follow-up studies, we have released our bug dataset and materials of our manual analysis process at this site.