Document Type

Honors Project On-Campus Access Only


The quality and reliability of compilers is important because compiler faults can unwittingly introduce bugs into otherwise good software or disrupt the software development process. Metamorphic testing offers a promising approach to circumvent the oracle problem, and has detected bugs in many production compilers. We built a tool called SwiftSmith for generating equivalent programs in the Swift language, and use it to test the Swift compiler using metamorphic testing for the first time. Furthermore, we propose several metamorphic relations for Swift programs, and study their effectiveness for revealing faults in the Swift compiler.



© Copyright is owned by author of this document