Floating-point symbolic execution: A case study in N-version programming

Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair F. Donaldson, Rafael Zahl, Klaus Wehrle
2017 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)  
Symbolic execution is a well-known program analysis technique for testing software, which makes intensive use of constraint solvers. Recent support for floating-point constraint solving has made it feasible to support floating-point reasoning in symbolic execution tools. In this paper, we present the experience of two research teams that independently added floating-point support to KLEE, a popular symbolic execution engine. Since the two teams independently developed their extensions, this
more » ... ted the rare opportunity to conduct a rigorous comparison between the two implementations, essentially a modern case study on Nversion programming. As part of our comparison, we report on the different design and implementation decisions taken by each team, and show their impact on a rigorously assembled and tested set of benchmarks, itself a contribution of the paper. Accepted for publication in Proc. of ASE 2017. Copyright IEEE.
doi:10.1109/ase.2017.8115670 dblp:conf/kbse/LiewSCDZW17 fatcat:2mzqrrregjaxhiug5ujg3cf6pa