Preparing Coding Environment
We assume you have finish the installation using the Docker image.
Compilation
Please go to userdef
directory of the workspace.
cmake .
make -j
If everything goes well, you should see libMyChecker.so
in the current directory.
Usage
To use your custom checker , select the path for Custom Checker
(libMyChecker.so
in this example) in Clearblue VSCode Extension, and insert the specified flag into Append Options
to activate your custom checker.
Vulnerability Detection
For our DivideByZero
example, it is registered with the following code:
static VulnerabilityRegistry<DivideByZero1>
X("ps-dbz1", "Run path-sensitive divide-by-zero checker.", "ps-unstable");
Therefore, you should select -ps-dbz1
for the Append Options
field in the extension to leverage our custom DivideByZero
example.
Generate Program Query
For query
example, it is registered as:
static RegisterPass<querySEG> Y("query", "SEG query", false, true);
Select -query
for the Append Options
field in the extension to leverage our query
example.
Debugging
If no bugs are reported, it would be best for you to check the log files to make sure nothing went wrong.
Check PATH_TO_PROJECT/.clearblue/BINARY.bc.log
for extraction logs.
Check PATH_TO_PROJECT/.clearblue/BINARY.json.log
for checker logs.
If you find a bug in the extension or clearblue, please file an issue with logs attached.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.