arXiv · 2306.02073
Verifying C++ Dynamic Binding
Abstract
We propose an approach for modular verification of programs written in an object-oriented language where, like in C++, the same virtual method call is bound to different methods at different points during the construction or destruction of an object. Our separation logic combines Parkinson and Bierman's abstract predicate families with essentially explicitly tracking each subobject's vtable pointer. Our logic supports polymorphic destruction. Virtual inheritance is not yet supported. We formalised our approach and implemented it in our VeriFast tool for semi-automated modular formal verification of C++ programs.
Explore related subjects
Keep this discovery
Niels Mommen, Bart Jacobs. 2023-06-03. Verifying C++ Dynamic Binding. https://arxiv.org/abs/2306.02073
Cite the original work for its findings. Save a collection to share your selection of sources.