Description |
Software verification, which aims to prove critical properties about programs using rigorous formal methods based on logic, is an active area of research in the field of computer science. In particular, the veri#12;cation of floating-points is a topic of paramount importance, given their ubiquity across a wide range of software, including video games, OS kernels, medical devices, and rockets. Several years ago, floating-p-point support was added to the Boogie verifier, a tool that is widely used by researchers in both industry and academia. In this thesis, I present the expansion of Boogie's original implementation to support rounding modes, an updated syntax for floating-point constants, and the fixing of various bugs, among other changes. I also present the addition of support for the math functions in the SMACK toolchain, which utilized Boogie's updated implementation in order to do so. Finally, I compare the performance of the updated implementation against other competitive verification tools on a comprehensive set of floating- point benchmarks. |