一句话:通过 StackOverflow 与 GitHub 数据揭示 TensorFlow 程序缺陷的根因、症状及检测定位策略。
深度学习应用在自动驾驶、人脸识别等重要领域日益普及,但缺陷可能带来灾难性后果。已有工作关注深度学习应用的测试与调试,却尚未系统研究深度学习缺陷的特征。为填补这一空白,本文以基于 TensorFlow 构建的深度学习应用为对象,从 StackOverflow 问答页面和 GitHub 项目中收集与 TensorFlow 相关的程序 bug,并从问答页面、提交信息、pull request 信息和 issue 讨论中提取信息,分析这些 bug 的根因与症状,同时考察 TensorFlow 用户采用的缺陷检测与定位策略。研究结果有助于研究人员和 TensorFlow 用户更好地理解 TensorFlow 程序中的编码缺陷,并为未来研究指出新方向。
Deep learning applications become increasingly popular in important domains such as self-driving systems and facial identity systems. Defective deep learning applications may lead to catastrophic consequences. Although recent research efforts were made on testing and debugging deep learning applications, the characteristics of deep learning defects have never been studied. To fill this gap, we studied deep learning applications built on top of TensorFlow and collected program bugs related to TensorFlow from StackOverflow QA pages and Github projects. We extracted information from QA pages, commit messages, pull request messages, and issue discussions to examine the root causes and symptoms of these bugs. We also studied the strategies deployed by TensorFlow users for bug detection and localization. These findings help researchers and TensorFlow users to gain a better understanding of coding defects in TensorFlow programs and point out a new direction for future research.
DOI 原文 ·
@inproceedings{paperbot4831,
title = {An empirical study on TensorFlow program bugs},
author = {Yuhao Zhang and Yifan Chen and Shing-Chi Cheung and Yingfei Xiong and Lu Zhang},
booktitle = {ISSTA},
year = {2018},
doi = {10.1145/3213846.3213866}
}