Quality assurance is of great importance for deep learning (DL) systems, especially when they are applied in safety-critical applications. While quality issues of native DL applications have been extensively analyzed, the issues of JavaScript-based DL applications have never been systematically studied. Compared with native DL applications, JavaScript-based DL applications can run on major browsers, making the platform- and device-independent. Specifically, the quality of JavaScript-based DL applications depends on the 3 parts: the application, the third-party DL library used and the underlying DL framework (e.g., TensorFlow.js), called JavaScript-based DL system. In this paper, we conduct the first empirical study on the quality issues of JavaScript-based DL systems. Specifically, we collect and analyze 700 real-world faults from relevant GitHub repositories, including the official TensorFlow.js repository, 13 third-party DL libraries, and 58 JavaScript-based DL applications. To better understand the characteristics of these faults, we manually analyze and construct taxonomies for the fault symptoms, root causes, and fix patterns, respectively. Moreover, we also study the fault distributions of symptoms and root causes, in terms of the different stages of the development lifecycle, the 3-level architecture in the DL system, and the 4 major components of TensorFlow.js framework. Based on the results, we suggest actionable implications and research avenues that can potentially facilitate the development, testing, and debugging of JavaScript-based DL systems.
翻译:质量保证对于深层学习(DL)系统非常重要,特别是在安全关键应用程序中应用的质量保证系统非常重要。虽然对本地 DL 应用程序的质量问题进行了广泛分析,但基于 JavaScript 的 DL 应用程序问题从未进行过系统研究。与本地 DL 应用程序相比,基于 JavaScript 的 DL 应用程序可以在主要浏览器上运行,使平台和装置不依赖。具体地说,基于 JavaScript 的 DL 应用程序的质量取决于三个部分:应用程序、使用的第三方 DL 图书馆和基于 DL 的基本框架(例如, TensorFlow.js) 。虽然对本地 DL 应用程序的质量问题进行了广泛分析,但JavaScript 的 DL 应用程序却从未系统地研究。 具体地说,我们收集和分析了来自相关GitHub 系统(包括基于官方的 TensorFlow.js 存储器)、 13 第三方 DL 框架、基于 JavaScript 的 DL 级应用程序的58 DL 系统(例如 Temages) 和DL 的DL 的DL 应用程序的DL 系统, 的系统,也显示了这些系统的发展、 的分类的分类和错误的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类的分类和缺陷的分类的分类的分类。