Description |
Software veri#12;cation, which aims to prove critical properties about programs using rigorous formal methods based on logic, is an active area of research in the #12;eld of computer science. In particular, the veri#12;cation of oating-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, oating-point support was added to the Boogie veri#12;er, 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 oating-point constants, and the #12;xing of various bugs, among other changes. I also present the addition of support for the math.h 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 veri#12;cation tools on a comprehensive set of oating- point benchmarks. |