• Finding Compiler Bugs through Cross-Language Code Generator and Differential Testing

    From John R Levine@johnl@taugh.com to comp.compilers on Thu Jul 10 14:54:06 2025
    From Newsgroup: comp.compilers

    Abstract

    Compilers play a central role in translating high-level code into
    executable programs, making their correctness essential for ensuring code safety and reliability. While extensive research has focused on verifying
    the correctness of compilers for single-language compilation, the
    correctness of cross-language compilation - which involves the interaction between two languages and their respective compilers - remains largely unexplored. To fill this research gap, we propose CrossLangFuzzer, a novel framework that introduces a universal intermediate representation (IR) for JVM-based languages and automatically generates cross-language test
    programs with diverse type parameters and complex inheritance structures.
    After generating the initial IR, CrossLangFuzzer applies three mutation techniques - LangShuffler, FunctionRemoval, and TypeChanger - to enhance program diversity. By evaluating both the original and mutated programs
    across multiple compiler versions, CrossLangFuzzer successfully uncovered
    10 confirmed bugs in the Kotlin compiler, 4 confirmed bugs in the Groovy compiler, 7 confirmed bugs in the Scala 3 compiler, 2 confirmed bugs in
    the Scala 2 compiler, and 1 confirmed bug in the Java compiler. Among all mutators, TypeChanger is the most effective, detecting 11 of the 24
    compiler bugs. Furthermore, we analyze the symptoms and root causes of cross-compilation bugs, examining the respective responsibilities of
    language compilers when incorrect behavior occurs during cross-language compilation. To the best of our knowledge, this is the firstwork
    specifically focused on identifying and diagnosing compiler bugs in cross-language compilation scenarios. Our research helps to understand
    these challenges and contributes to improving compiler correctness in multi-language environments.

    https://arxiv.org/abs/2507.06584

    Regards,
    John Levine, johnl@taugh.com, Taughannock Networks, Trumansburg NY
    Please consider the environment before reading this e-mail. https://jl.ly
    --- Synchronet 3.21b-Linux NewsLink 1.2