Compilomorphic Fuzzing: Turning a Compiler Against Itself
Compilers for structured data pipelines, often specified using domain-specific languages such as P4, are notoriously difficult to validate. We introduce \emph{compilomorphic fuzzing}, a new validation approach that turns a compiler into its own test oracle via structure-preserving transformations over programs and structured inputs. The core idea is to generate pairs of semantically equivalent but structurally distinct inputs (e.g., packets) and programs (e.g., pipeline specifications), and then assert that the compiler’s observable behaviour remains invariant. Any deviation exposes a deep semantic bug. We present the formal basis for this approach, compilomorphism, and a prototype fuzzing framework that operationalises it, establishing a practical, model-free foundation for validating compilers in critical DSL domains.
Wed 8 JulDisplayed time zone: Eastern Time (US & Canada) change
16:00 - 17:00 | CompilerIdeas, Visions and Reflections / Research Papers / Tool Demonstrations at MB 3.435 Chair(s): Julia Lawall Inria | ||
16:00 20mTalk | Cost-Effective Testing of MPC Compilers Research Papers Sebastian Watzinger TU Wien, Valentin Wüstholz ConsenSys, Deepak Garg MPI-SWS, Maria Christakis TU Wien Pre-print | ||
16:20 10mTalk | Compilomorphic Fuzzing: Turning a Compiler Against Itself Ideas, Visions and Reflections Vasileios Klimis Queen Mary University of London | ||
16:30 10mTalk | PYURIFY: Purifying Python Tests for Precise Fault Localization Tool Demonstrations Marius Smytzek CISPA Helmholtz Center for Information Security, Andreas Zeller CISPA Helmholtz Center for Information Security DOI Pre-print | ||
16:40 20mTalk | Detecting Bugs in Rust Compiler Fix Suggestions via Constraint-Violation-Guided Mutation Research Papers Zixi Liu Nanjing University, Yang Feng Nanjing University, Jialiang Jiang Nanjing University, Baowen Xu Nanjing University | ||