University of Twente Student Theses
Forging a differential tester for Haskell compilers using Xsmith
Vree, E.A. de (2024) Forging a differential tester for Haskell compilers using Xsmith.
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