* * Goto-Instrument 6.11.0 (cbmc-6.11.0-dirty) 64-bit * * * * Copyright (C) 2008-2013 * * * * Daniel Kroening * * * * kroening@kroening.com * * Usage: Purpose: goto-instrument [-?] [-h] [--help] show this help goto-instrument --version show version and exit goto-instrument [options] in [out] perform analysis or instrumentation Dump Source: --dump-c generate C source --dump-c-type-header m generate a C header for types local in m --dump-cpp generate C++ source --no-system-headers generate C source expanding libc includes --use-all-headers generate C source with all includes --harness include input generator in output --horn print program as constrained horn clauses Diagnosis: --show-properties show the properties, but don't run analysis --document-properties-html generate HTML property documentation --document-properties-latex generate LaTeX property documentation --show-symbol-table show loaded symbol table --list-symbols list symbols with type information --show-goto-functions show loaded goto program --list-goto-functions list loaded goto functions --count-eloc count effective lines of code --list-eloc list full path names of lines containing code --print-global-state-size count the total number of bits of global objects --print-path-lengths print statistics about control-flow graph paths --show-locations show all source locations --dot generate CFG graph in DOT format --print-internal-representation show verbose internal representation of the program --list-undefined-functions list functions without body --list-calls-args list all function calls with their arguments --call-graph show graph of function calls --reachable-call-graph show graph of function calls potentially reachable from main function --show-class-hierarchy show the class hierarchy --validate-goto-model enable additional well-formedness checks on the goto program --validate-ssa-equation enable additional well-formedness checks on the SSA representation --validate-goto-binary check the well-formedness of the passed in goto binary and then exit --interpreter do concrete execution Data-flow analyses: --show-struct-alignment show struct members that might be concurrently accessed --show-threaded show instructions that may be executed by more than one thread --show-local-safe-pointers show pointer expressions that are trivially dominated by a not-null check --show-safe-dereferences show pointer expressions that are trivially dominated by a not-null check *and* used as a dereference operand --show-value-sets show points-to information (using value sets) --show-global-may-alias show may-alias information over globals --show-local-bitvector-analysis show procedure-local pointer analysis --escape-analysis perform escape analysis --show-escape-analysis show results of escape analysis --custom-bitvector-analysis perform configurable bitvector analysis --show-custom-bitvector-analysis show results of configurable bitvector analysis --interval-analysis perform interval analysis --show-intervals show results of interval analysis --show-uninitialized show maybe-uninitialized variables --show-points-to show points-to information --show-rw-set show read-write sets --show-call-sequences show function call sequences --show-reaching-definitions show reaching definitions --show-dependence-graph show program-dependence graph --show-sese-regions show single-entry-single-exit regions Safety checks: --no-assertions ignore user assertions --no-standard-checks disable default checks (more information in manpage) --bounds-check enable array bounds checks (default on) --no-bounds-check disable array bounds checks --pointer-check enable pointer checks (default on) --no-pointer-check disable pointer checks --memory-leak-check enable memory leak checks --memory-cleanup-check enable memory cleanup checks --div-by-zero-check enable division by zero checks on integers (default on) --float-div-by-zero-check enable division by zero checks on floating-point numbers (default off) --no-div-by-zero-check disable division by zero checks --signed-overflow-check enable signed arithmetic over- and underflow checks (default on) --no-signed-overflow-check disable signed arithmetic over- and underflow checks --unsigned-overflow-check enable arithmetic over- and underflow checks --pointer-overflow-check enable pointer arithmetic over- and underflow checks --conversion-check check whether values can be represented after type cast --undefined-shift-check check shift greater than bit-width (default on) --no-undefined-shift-check disable check for shift greater than bit-width --float-overflow-check check floating-point for +/-Inf --nan-check check floating-point for NaN --enum-range-check checks that all enum type expressions have values in the enum range --pointer-primitive-check checks that all pointers in pointer primitives are valid or null (default on) --no-pointer-primitive-check disable checks that all pointers in pointer primitives are valid or null --retain-trivial-checks include checks that are trivially true --error-label label check that label label is unreachable --no-built-in-assertions ignore assertions in built-in library --no-assertions ignore user assertions --no-assumptions ignore user assumptions --assert-to-assume convert user assertions to assumptions --uninitialized-check add checks for uninitialized locals (experimental) --stack-depth n add check that call stack size of non-inlined functions never exceeds n --race-check add floating-point data race checks Semantic transformations: --nondet-volatile makes reads from volatile variables non-deterministic --nondet-volatile-variable variable makes reads from given volatile variable non-deterministic --nondet-volatile-model variable:model models reads from given volatile variable by a call to the given model --isr function instruments an interrupt service routine --mmio instruments memory-mapped I/O --nondet-static add nondeterministic initialization of variables with static lifetime --nondet-static-exclude e same as nondet-static except for the variable e (use multiple times if required) --nondet-static-matching r add nondeterministic initialization of variables with static lifetime matching regex r --function-enter f, --function-exit f, --branch f instruments a call to f at the beginning, the exit, or a branch point, respectively --splice-call caller,callee prepends a call to callee in the body of caller --check-call-sequence seq instruments checks to assert that all call sequences match seq --undefined-function-is-assume-false convert each call to an undefined function to assume(false) --insert-final-assert-false function generate assert(false) at end of function function --generate-function-body regex generate bodies for functions matching regex that do not already have bodies --generate-havocing-body