GOTO-HARNESS(1) | User Commands | GOTO-HARNESS(1) |
goto-harness - Generate environments for symbolic analysis
goto-harness constructs functions that set up an appropriate environment before calling functions under analysis. This is most useful when trying to analyze an isolated unit of a program.
A typical sequence of tool invocations is as follows. Given a C program program.c, we generate a harness for function test_function:
# Compile the program goto-cc program.c -o program.gb # Run goto-harness to produce harness file goto-harness --harness-type call-function --harness-function-name generated_harness_test_function --function test_function program.gb harness.c # Run the checks targeting the generated harness cbmc --pointer-check harness.c --function generated_harness_test_function
goto-harness has two main modes of operation. First,function-call harnesses, which automatically synthesize an environment without having any information about the program state. Second, memory-snapshot harnesses, in which case goto-harness loads an existing program state as generated by memory-analyzer(1) and selectively havocs some variables.
All tools honor the TMPDIR environment variable when generating temporary files and directories.
If you encounter a problem please create an issue at https://github.com/diffblue/cbmc/issues
cbmc(1), goto-cc(1), memory-analyzer(1)
2019, Diffblue
June 2022 | goto-harness-5.59.0 |