Static Analysis Helper Scripts
A few scripts that can be helpful in the use and evaluation of C++ static analysis tools.
|build_cppcheck.sh||Script to build cppcheck for installation in a non-standard location (i.e., not /usr, /usr/local).|
|cc_driver.pl||Iterates over a compilation database (compile_commands.json) file, and executes a specified command for each build target, passing the compiler flags from the normal build.|
|cppcheck.sh||Invokes cppcheck defining a number of common parameters, also generates and includes compiler pre-defined macros.|
|cppcheck2csv.pl||Takes (filtered or un-filtered) output from cppcheck, and formats it in csv format.|
|clang2csv.pl||Takes (filtered or un-filtered) output from clang tools (clang-check and clang-tidy), and formats it in csv format.|
|itc2csv.pl||Takes a list of error annotations from ITC benchmark suite, and formats it in csv format.|
|pvs2csv.pl||Takes a list of error annotations from PVS-Studio, and formats it in csv format.|
|run_pvs.sh||Example script used to run PVS-Studio against ITC benchmarks.|
Most of the scripts are written in Perl, simply because that was easiest (especially given the excellent debugging support available under Eclipse with EPIC). Plus, I kind of like Perl, as I’ve mentioned before.
The scripts have been tested on CentOS 6.