Provided by: cbmc_5.95.1-4ubuntu1_amd64
NAME
crangler - C source transformation
SYNOPSIS
crangler [-?] [-h] [--help] crangler file.json
DESCRIPTION
crangler is a command-line utility that makes changes to a preprocessed C file that are prescribed in a JSON configuration file. The supported transformations are: Add a contract (pre/post/assigns) to a named C function. Add a loop contract to a loop identified by the name of the function containing the loop and a loop number. Remove the static storage classifier from a function or a variable. Replace a function call by a call to a stub. The resulting source file is written to standard output or to a file specified in the JSON configuration.
EXAMPLE
The following JSON configuration file makes crangler preprocess remove_static1.c. While processing this file to produce a preprocessed result, no non-standard include paths or defines reqired. Transformations configured here are removing the static storage classifier from all functions matching the regular expression foobar[12], and replacing calls to bar by calls to a function called bar_stub. No objects are listed that require transformation. The result is written to standard output. { "sources": [ "remove_static1.c" ], "includes": [], "defines": [], "functions": [ { "foobar[12]": [ "remove static" ], "bar": [ "stub bar_stub" ] } ], "objects": [], "output": "stdout" }
ENVIRONMENT
All tools honor the TMPDIR environment variable when generating temporary files and directories.
BUGS
If you encounter a problem please create an issue at https://github.com/diffblue/cbmc/issues
COPYRIGHT
2021, Daniel Kroening