Characterizing Real-World Bugs in Tile Programs for Automated Bug Detection
Ravishka Rathnasuriya, Zihe Song, Nidhi Majoju, Aaryaa Moharir, Tingxi Li, Wei Yang, Tao Xie

TL;DR
This paper systematically studies code generation bugs in tile-based GPU programming frameworks, analyzing 301 bugs to inform future debugging and testing tools for these systems.
Contribution
It is the first comprehensive analysis of tile-program code generation bugs, providing insights into their causes, symptoms, and fixes based on 301 real bugs from GitHub.
Findings
Identified common root causes and symptoms of tile-program bugs
Categorized input patterns and test oracles that trigger bugs
Provided strategies used to fix these bugs
Abstract
Tile-based programming frameworks are increasingly adopted to write high-performance GPU kernels in domains such as deep learning and scientific computing. While these frameworks enhance productivity and hardware utilization, their multi-stage compilation pipelines introduce distinct code generation bugs that are tightly coupled to input shapes, data types, and backend targets. These bugs often manifest as silent correctness or performance issues, making them difficult to detect using existing compiler testing tools. Additionally, the unique programming conventions of tile domain-specific languages complicate root cause identification, while fixing such bugs demands specialized knowledge of tile abstractions and compilation pipelines. Despite the growing adoption of tile-based systems, their code generation bugs remain largely unexplored. This paper presents the first systematic study…
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.
