DeepDiagnosis: Automatically Diagnosing Faults and Recommending Actionable Fixes in Deep Learning Programs

DeepDiagnosis: Automatically Diagnosing Faults and Recommending Actionable Fixes in Deep Learning Programs
复制标题

DeepDiagnosis:自动诊断深度学习程序中的故障并推荐可行的修复方案

DOI:
10.1145/3510003.3510071
复制
发表时间:
2021
期刊:
2022 IEEE/ACM 44th International Conference on Software Engineering (ICSE)
影响因子:
--
通讯作者:
Hridesh Rajan
Hridesh Rajan
中科院分区:
--
文献类型:
--
作者:
Mohammad Wardat;Breno Dantas Cruz;Wei Le;Hridesh Rajan

文献摘要

参考文献

被引文献

相似文献

深层神经网络(DNN)用于多种应用中。但是,与任何软件应用程序一样,基于DNN的应用程序都遭受了错误的困扰。先前的工作观察到DNN错误修复模式不同于传统的错误修复模式。此外,由于毫无疑问的错误,这些车型模型对诊断和修复是不一致的,并且有几种可以修复它们的选项。为了支持开发人员定位和修复错误,我们提出了DeepDiengnosis,这是一种新颖的调试方法,可以定位故障,报告错误症状并建议对DNN程序进行修复。在第一阶段,我们的技术监视训练模型,并定期检查八种类型的误差条件。然后,如果出现问题,它报告了包含足够信息的消息,可以对模型进行可行的维修。在评估中,我们彻底检查了444个型号-Github和Stack Overflow的53个现实世界,以及由Autotrainer策划的391。与Umluat相比,DeepDiakenosis提供了卓越的准确性和DeepLepalize。对于故障定位,我们的技术比自动架更快。结果表明,我们的方法可以支持其他类型的模型,而最先进的模型只能处理分类。我们的技术能够报告在培训期间不显示为数值错误的错误。此外,它可以为修复提供可行的见解,而深度置换只能报告导致训练过程中数值错误的故障。与其他方法相比,DeepDiagnosis表现出了故障检测,虫定位和症状识别的最佳功能。
Deep Neural Networks (DNNs) are used in a wide variety of applications. However, as in any software application, DNN-based apps are afflicted with bugs. Previous work observed that DNN bug fix patterns are different from traditional bug fix patterns. Furthermore, those buggy models are non-trivial to diagnose and fix due to inexplicit errors with several options to fix them. To support developers in locating and fixing bugs, we propose DeepDiagnosis, a novel debugging approach that localizes the faults, reports error symptoms and suggests fixes for DNN programs. In the first phase, our technique monitors a training model, periodically checking for eight types of error conditions. Then, in case of problems, it reports messages containing sufficient information to perform actionable repairs to the model. In the evaluation, we thoroughly examine 444 models - 53 real-world from GitHub and Stack Overflow, and 391 curated by AUTOTRAINER. DeepDiagnosis provides superior accuracy when compared to UMLUAT and DeepLocalize. Our technique is faster than AUTOTRAINER for fault localization. The results show that our approach can support additional types of models, while state-of-the-art was only able to handle classification ones. Our technique was able to report bugs that do not manifest as numerical errors during training. Also, it can provide actionable insights for fix whereas DeepLocalize can only report faults that lead to numerical errors during training. DeepDiagnosis manifests the best capabilities of fault detection, bug localization, and symptoms identification when compared to other approaches.
DOI: 10.1109/icse.2017.62
发表时间: 2017-05
期刊: 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE)
影响因子: --
作者:
Spencer Pearson;José Campos;René Just;G. Fraser;Rui Abreu;Michael D. Ernst;D. Pang;Benjamin Keller-Benjamin-K
通讯作者: Spencer Pearson;José Campos;René Just;G. Fraser;Rui Abreu;Michael D. Ernst;D. Pang;Benjamin Keller-Benjamin-K