论文标题

要了解基于JavaScript的深度学习系统的缺点

Towards Understanding the Faults of JavaScript-Based Deep Learning Systems

论文作者

Quan, Lili, Guo, Qianyu, Xie, Xiaofei, Chen, Sen, Li, Xiaohong, Liu, Yang

论文摘要

质量保证对于深度学习(DL)系统至关重要,尤其是当它们应用于安全至关重要的应用中时。尽管已经对本机DL应用程序的质量问题进行了广泛的分析,但基于JavaScript的DL应用程序的问题从未系统地研究。与本机DL应用程序相比,基于JavaScript的DL应用程序可以在主要浏览器上运行,从而使平台和设备无关。具体而言,基于JavaScript的DL应用程序的质量取决于三个部分:应用程序,使用的第三方DL库和基础DL框架(例如TensorFlow.js),称为基于JavaScript的DL系统。在本文中,我们就基于JavaScript的DL系统的质量问题进行了首次实证研究。具体而言,我们从相关的GitHub存储库中收集和分析700个现实世界中的故障,包括官方Tensorflow.js存储库,13个第三方DL库和58个基于JavaScript的DL应用程序。为了更好地理解这些断层的特征,我们分别为断层症状,根本原因和修复模式进行手动分析和构建分类法。此外,我们还根据开发生命周期的不同阶段,DL系统中的3级体系结构以及Tensorflow.js框架的4个主要组成部分研究症状和根本原因的断层分布。基于结果,我们建议可行的含义和研究途径,这些途径有可能促进基于JavaScript的DL系统的开发,测试和调试。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源