面向理解基于 JavaScript 的深度学习系统的故障
软件工程
2022-09-13 v1
摘要
质量保证对深度学习(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 系统中三级架构以及 TensorFlow.js 框架四大组件的角度研究了症状与根因的故障分布。基于结果,我们提出了可操作的启示与研究路径,有望促进基于 JavaScript 的 DL 系统的开发、测试与调试。
引用
@article{arxiv.2209.04791,
title = {Towards Understanding the Faults of JavaScript-Based Deep Learning Systems},
author = {Lili Quan and Qianyu Guo and Xiaofei Xie and Sen Chen and Xiaohong Li and Yang Liu},
journal= {arXiv preprint arXiv:2209.04791},
year = {2022}
}
备注
13 pages, 8 figures, ASE 2022