Fuzzing Deep Learning Compilers with HirGen
Haoyang Ma, Qingchao Shen, Yongqiang Tian, Junjie Chen, Shing-Chi, Cheung

TL;DR
HirGen is an automated testing tool designed to detect bugs in high-level IR optimization of DL compilers, significantly improving bug detection over existing fuzzers by using novel coverage criteria and test oracles.
Contribution
This paper introduces HirGen, a new fuzzing approach that effectively exposes bugs in high-level IR optimization of DL compilers, filling a gap in existing testing techniques.
Findings
HirGen detected 21 bugs in TVM, with 17 confirmed and 12 fixed.
HirGen outperforms four baseline fuzzers in detecting crashes and inconsistencies.
The proposed coverage criteria and test oracles are validated as effective.
Abstract
Deep Learning (DL) compilers are widely adopted to optimize advanced DL models for efficient deployment on diverse hardware. Their quality has profound effect on the quality of compiled DL models. A recent bug study shows that the optimization of high-level intermediate representation (IR) is the most error-prone compilation stage. Bugs in this stage are accountable for 44.92% of the whole collected ones. However, existing testing techniques do not consider high-level optimization related features (e.g. high-level IR), and are therefore weak in exposing bugs at this stage. To bridge this gap, we propose HirGen, an automated testing technique that aims to effectively expose coding mistakes in the optimization of high-level IR. The design of HirGen includes 1) three coverage criteria to generate diverse and valid computational graphs; 2) full use of high-level IRs language features to…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Adversarial Robustness in Machine Learning · Software Engineering Research
