With the widespread deployment of deep neural networks (DNNs), ensuring the reliability of DNN-based systems is of great importance. Serious reliability issues such as system failures can be caused by numerical defects, one of the most frequent defects in DNNs. To assure high reliability against numerical defects, in this paper, we propose the RANUM approach including novel techniques for three reliability assurance tasks: detection of potential numerical defects, confirmation of potential-defect feasibility, and suggestion of defect fixes. To the best of our knowledge, RANUM is the first approach that confirms potential-defect feasibility with failure-exhibiting tests and suggests fixes automatically. Extensive experiments on the benchmarks of 63 real-world DNN architectures show that RANUM outperforms state-of-the-art approaches across the three reliability assurance tasks. In addition, when the RANUM-generated fixes are compared with developers' fixes on open-source projects, in 37 out of 40 cases, RANUM-generated fixes are equivalent to or even better than human fixes.
翻译:随着深度神经网络(DNN)的广泛部署,保障基于DNN系统的可靠性至关重要。数值缺陷作为DNN中最常见的缺陷之一,可能导致系统失效等严重可靠性问题。为在应对数值缺陷时确保高可靠性,本文提出RANUM方法,包含三项可靠性保障任务的新型技术:潜在数值缺陷检测、潜在缺陷可行性确认以及缺陷修复建议。据我们所知,RANUM是首个通过故障复现测试确认潜在缺陷可行性并自动提出修复方案的方法。基于63个真实DNN架构基准的大量实验表明,RANUM在三项可靠性保障任务中均优于现有最优方法。此外,当将RANUM生成的修复方案与开源项目中开发者的修复进行对比时,在40个案例中,有37个案例中RANUM生成的修复效果等同于或优于人工修复。