University of Twente Student Theses

Login

Forging a differential tester for Haskell compilers using Xsmith

Vree, E.A. de (2024) Forging a differential tester for Haskell compilers using Xsmith.

[img] PDF
496kB
Abstract:Testing and verification are integral parts of software development that happen at every level of abstraction. When testing software written on one level, software engineers might consider the layer below as intransparent and assume it to not produce any unspecified behaviour. However, this is not always the case, and low-level compiler bugs can go unnoticed for years. One powerful strategy to investigate output of compilers is differential testing, or differential fuzzing. Recently, a general approach to differential testing was introduced to the field in the form of Xsmith: a potent tool that can be used to write fuzz testers in arbitrary languages. Xsmith has been implemented for a variety of programming languages, and its effectiveness has been demonstrated by the discovery of bugs in implementations of Racket, Dafny and WebAssembly. We extend that list by investigating the effectiveness and limitations of Xsmith when used to implement a differential tester for the Haskell programming language. These limitations are investigated by evaluating program generation speed and compiler coverage for the generated Haskell programs.
Item Type:Essay (Bachelor)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:54 computer science
Programme:Computer Science BSc (56964)
Link to this item:https://purl.utwente.nl/essays/98278
Export this item as:BibTeX
EndNote
HTML Citation
Reference Manager

 

Repository Staff Only: item control page