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生成的修复方案与人工修复方案相当甚至更优。