In recent years, software systems powered by deep learning (DL) techniques have significantly facilitated people's lives in many aspects. As the backbone of these DL systems, various DL libraries undertake the underlying optimization and computation. However, like traditional software, DL libraries are not immune to bugs, which can pose serious threats to users' personal property and safety. Studying the characteristics of DL libraries, their associated bugs, and the corresponding testing methods is crucial for enhancing the security of DL systems and advancing the widespread application of DL technology. This paper provides an overview of the testing research related to various DL libraries, discusses the strengths and weaknesses of existing methods, and provides guidance and reference for the application of the DL library. This paper first introduces the workflow of DL underlying libraries and the characteristics of three kinds of DL libraries involved, namely DL framework, DL compiler, and DL hardware library. It then provides definitions for DL underlying library bugs and testing. Additionally, this paper summarizes the existing testing methods and tools tailored to these DL libraries separately and analyzes their effectiveness and limitations. It also discusses the existing challenges of DL library testing and outlines potential directions for future research.
翻译:近年来,由深度学习技术驱动的软件系统在众多方面极大地便利了人们的生活。作为这些深度学习系统的核心支撑,各类深度学习库承担着底层优化与计算的关键任务。然而,与传统软件类似,深度学习库也无法避免缺陷,这些缺陷可能对用户的个人财产和人身安全构成严重威胁。研究深度学习库的特性、相关缺陷以及相应的测试方法,对于提升深度学习系统的安全性、推动深度学习技术的广泛应用具有重要意义。本文综述了针对各类深度学习库的测试研究,讨论了现有方法的优势与不足,并为深度学习库的应用提供了指导与参考。本文首先介绍了深度学习底层库的工作流程以及所涉及的三种深度学习库(即深度学习框架、深度学习编译器、深度学习硬件库)的特性,随后给出了深度学习底层库缺陷与测试的定义。此外,本文分别针对这些深度学习库总结了现有的测试方法与工具,并分析了它们的有效性与局限性,同时探讨了深度学习库测试当前面临的挑战,并展望了未来潜在的研究方向。