Optimization-Aware Test Generation for Deep Learning Compilers

📅 2025-11-24
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Testing optimization phases in deep learning compilers faces challenges due to test cases lacking optimization awareness and failing to trigger deep optimization paths. This paper proposes OATest—the first optimization-aware test generation method targeting compiler optimization stages. It enhances path exploration by integrating optimization patterns with seed computational graphs; introduces an edge-reuse strategy to preserve pattern context consistency; and incorporates auxiliary layers to repair broken constraints. Furthermore, OATest supports differential testing across TVM and ONNX Runtime backends to detect semantic inconsistencies. Experimental evaluation demonstrates that OATest significantly improves code coverage, discovers 58 previously unknown vulnerabilities—36 of which have been confirmed or fixed by developers—and substantially strengthens reliability and security verification for compiler optimization phases.

Technology Category

Application Category

📝 Abstract
Deep Learning (DL) compilers have been widely utilized to optimize DL models for efficient deployment across various hardware. Due to their vital role in the DL ecosystem, ensuring their reliability and security is critical. However, existing approaches have limitations in testing optimization stages, which is the core functionality of DL compilers, due to the difficulty in generating optimization-aware tests. In this paper, we proposed OATest, a novel approach for synthesizing optimization-aware computational graphs. The approach combines patterns extracted from documented tests for optimization and incorporates them into seed computational graphs, enabling broader exploration of optimization paths. To guarantee the optimization-awareness of generated graphs, OATest introduces the edges reusing strategy to establish strong connections between patterns and contexts. Additionally, to solve the validity challenge for the generated graphs, OATest employs an auxiliary layers addition strategy to resolve broken constraints. Equipped with two distinct test oracles, OATest applies differential testing to evaluate the two widely used DL compilers (i.e., TVM and ONNXRuntime). Our experimental results show that OATest outperforms the state-of-the-art method by detecting more bugs and achieving higher code coverage in TVM and ONNXRutimes. Additionally, OATest uncovers 58 previously unknown bugs, 36 of which have been confirmed or fixed by developers.
Problem

Research questions and friction points this paper is trying to address.

Generating optimization-aware tests for deep learning compilers
Overcoming limitations in testing compiler optimization stages
Ensuring validity and optimization-awareness of synthesized computational graphs
Innovation

Methods, ideas, or system contributions that make the work stand out.

Synthesizes optimization-aware computational graphs for testing
Uses edges reusing strategy to connect patterns and contexts
Employs auxiliary layers addition to resolve broken constraints
🔎 Similar Papers
No similar papers found.
Qingchao Shen
Qingchao Shen
Tianjin University
Compiler TestingAI TestingSE4AIDeep Learning Testing
Z
Zan Wang
School of Computer Software, Tianjin University, Tianjin, China
Haoyang Ma
Haoyang Ma
HKUST
random program generatorcompiler testingbug localization
Yongqiang Tian
Yongqiang Tian
Monash University
Software Testing and DebuggingSoftware Engineering
L
Lili Huang
School of Computer Software, Tianjin University, Tianjin, China
Z
Zibo Xiao
School of Computer Software, Tianjin University, Tianjin, China
J
Junjie Chen
School of Computer Software, Tianjin University, Tianjin, China
Shing-Chi Cheung
Shing-Chi Cheung
Chair Professor of Computer Science and Engineering, HKUST
Software EngineeringSoftware TestingProgram TestingProgram AnalysisAutomated Debugging