A Tale of Two DL Cities: When Library Tests Meet Compiler
Qingchao Shen, Yongqiang Tian, Haoyang Ma, Junjie Chen, Lili Huang,, Ruifeng Fu, Shing-Chi Cheung, Zan Wang

TL;DR
This paper introduces OPERA, a testing framework that leverages DL library tests to identify bugs in DL compiler model loading stages, demonstrating improved bug detection and testing efficiency.
Contribution
OPERA extracts domain knowledge from DL library tests to generate diverse test inputs and employs a prioritization strategy, enhancing bug detection in DL compiler model loading stages.
Findings
Detected 170 previously unknown bugs, with 90 confirmed and fixed.
Improved testing efficiency by 11.9% to 47.4% over baseline strategies.
Effectively used tests from multiple DL libraries and compilers.
Abstract
Deep Learning (DL) compilers typically load a DL model and optimize it with intermediate representation.Existing DL compiler testing techniques mainly focus on model optimization stages, but rarely explore bug detection at the model loading stage. Effectively testing the model loading stage requires covering diverse usages of each DL operator from various DL libraries, which shares a common objective with DL library testing, indicating that the embedded knowledge in DL library tests is beneficial for testing the model loading stage of DL compilers. In this work, we propose OPERA to extract such domain knowledge from the test inputs for DL libraries. OPERA constructs diverse tests from the various test inputs for DL libraries (including the test inputs documented in DL libraries and those generated by recent fuzzers). In addition, it incorporates a diversity-based test prioritization…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsArtificial Intelligence in Games
