A programmable tool for verification, analysis and transformation of C++ source code