The bleeding edge uses abstract interpretation to verify code.
Free from NASA:
IKOS (Inference Kernel for Open Static Analyzers) is a static analyzer for C/C++ based on the theory of Abstract Interpretation. https://github.com/NASA-SW-VnV/ikos
On the free side, you also have Frama-C (https://www.frama-c.com) and its Eva plug-in, based on abstract interpretation, and Mopsa (https://mopsa.lip6.fr), also based on abstract interpretation.