Metamorphic Shader Fusion for Testing Graphics Shader Compilers
Computer graphics are powered by graphics APIs (e.g., OpenGL, Direct3D) and their associated shader compilers, which render high-quality images by compiling and optimizing user-written high-level shader programs into GPU machine code. Graphics rendering is extensively used in production scenarios like virtual reality (VR), gaming, autonomous driving, and robotics. Despite the development by industrial manufacturers such as Intel, Nvidia, and AMD, shader compilers — like traditional software — may produce ill-rendered outputs. In turn, these errors may result in negative results, from poor user experience in entertainment to accidents in driving assistance systems.
This paper introduces FSHADER, a metamorphic testing (MT) framework designed specifically for shader compilers to uncover erroneous compilations and optimizations. FSHADER tests shader compilers by mutating input shader programs via four carefully-designed metamorphic relations (MRs). In particular, FSHADER fuses two shader programs via an MR and checks the visual consistency between the image rendered from the fused shader program with the output of fusing individually rendered images. Our study of 13 shader compilers covers five mainstream GPU vendors, including Intel, AMD, Nvidia, ARM, and Apple. We successfully uncover over 16K error-triggering inputs that generate incorrect rendering outputs. We manually locate and characterize buggy optimization places, and developers have confirmed representative bugs.
Fri 19 MayDisplayed time zone: Hobart change
15:45 - 17:15 | Metamorphic testingSEIP - Software Engineering in Practice / Technical Track / Journal-First Papers / SEIS - Software Engineering in Society at Meeting Room 102 Chair(s): Shiva Nejati University of Ottawa | ||
15:45 15mTalk | MTTM: Metamorphic Testing for Textual Content Moderation Software Technical Track Wenxuan Wang The Chinese University of Hong Kong, Jen-tse Huang The Chinese University of Hong Kong, Weibin Wu Sun Yat-sen University, Jianping Zhang The Chinese University of Hong Kong, Yizhan Huang The Chinese University of Hong Kong, Shuqing Li The Chinese University of Hong Kong, Pinjia He Chinese University of Hong Kong at Shenzhen, Michael Lyu The Chinese University of Hong Kong | ||
16:00 15mTalk | Metamorphic Shader Fusion for Testing Graphics Shader Compilers Technical Track Dongwei Xiao The Hong Kong University of Science and Technology, Zhibo Liu Hong Kong University of Science and Technology, Shuai Wang Hong Kong University of Science and Technology | ||
16:15 15mPaper | Metamorphic Testing and Debugging of Tax Preparation Software SEIS - Software Engineering in Society Saeid Tizpaz-Niari University of Texas at El Paso, Verya Monjezi University of Texas at El Paso, Morgan Wagner University of Texas at El Paso, Shiva Darian University of Colorado Boulder, Krystia Reed University of Texas at El Paso, Ashutosh Trivedi University of Colorado Boulder Pre-print | ||
16:30 7mTalk | Biasfinder: Metamorphic test generation to uncover bias for sentiment analysis systems Journal-First Papers Muhammad Hilmi Asyrofi School of Computing and Information Systems, Singapore Management University, Zhou Yang Singapore Management University, Imam Nur Bani Yusuf Singapore Management University, Singapore, Hong Jin Kang UCLA, Ferdian Thung Singapore Management University, David Lo Singapore Management University | ||
16:37 7mTalk | Automated Metamorphic Testing using Transitive Relations for Specializing Stance Detection Models SEIP - Software Engineering in Practice Alisa Arno IBM Research - Tokyo, Futoshi Iwama IBM Research - Tokyo, Mikio Takeuchi IBM Research - Tokyo | ||
16:45 15mTalk | MorphQ: Metamorphic Testing of the Qiskit Quantum Computing Platform Technical Track Pre-print |