Haskell Compiler Testing Automation Based on Equivalence-Modulo-Inputs Method
Tianchi Li · 2019
Equivalence Modulo Inputs (EMI) has become an effective approach for automatically testing compilers.It has revealed thousands of bugs of C compilers GCC and LLVM.Haskell is a purely functional programming language with static type checking, which satisfies the emerging need of parallel computing for big data on multicore processors.GHC, the mainstream compiler for Haskell, inevitably suffers from bugs.When applying EMI to test GHC, two challenges are coverage definition and typing correctness preservation.This paper introduces an approach to generate Haskell programs as EMI test input of GHC by solving the two Haskell specified challenges.