CBMC vs Semgrep Code
CBMC
cprover.orgSemgrep Code
semgrep.devSide by side
| Figure | CBMC | Semgrep Code |
|---|---|---|
| Price from | Free | $15/mo |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 7 |
| Spec score · C and C++ Static Analysis Tools | 8.7 (#2) | 8.7 (#3) |
| Purpose | CBMC is a bounded model checker for C and C++ programs. | Semgrep Code is a static application security testing product that finds code vulnerabilities and helps developers fix them. |
| Support | The CBMC page directs questions to Daniel Kroening, and the CPROVER manual links to Google Groups support and announcements. | Paid customers receive technical support from 8 AM to 1 AM UTC on weekdays through private Slack, the web help area or support email. |
Plans
Semgrep Code
- Free EditionFree
- Free EditionFree
- Teams Secrets$15 a month
- Teams — Code$30 a month
- Teams Code$30 a month
- Teams Supply Chain$30 a month
- EnterprisePriced on request
In their own words
CBMC
CBMC is a bounded model checker for C and C++ programs, available for Linux, macOS, and Windows. It checks memory safety, including array bounds and pointer use, along with several forms of undefined behavior and user-specified assertions. Its language range includes C89, C99, most of C11 and C17, and extensions from GCC, Clang, and Visual Studio. CBMC verifies by unwinding program loops and passing the resulting equation to a decision procedure. It can check C and C++ I/O equivalence with languages such as Verilog, and generate test cases for branch, decision, path, and MC/DC coverage. Listed language features include arrays, dynamic memory, nondeterminism, assumptions, assertions, and selected C++ features such as classes, templates, and STL containers. A MiniSat-based bit-vector solver is included; Boolector, CVC5, and Z3 are supported but must be installed separately. CBMC is free at free under a BSD 4-clause license. The Windows and macOS distributions are command-line tools without a GUI.
Semgrep Code
Semgrep Code is a cloud-based static application security testing product for finding vulnerabilities in source code and helping developers address them. It combines deterministic analysis for issues such as XSS and SQL injection with AI analysis aimed at complex flaws, including IDOR and business logic vulnerabilities. Pull requests can carry tailored, step-by-step remediation instructions, and the product supports 35 programming languages. Semgrep lists integrations with GitHub, GitLab, Bitbucket, Jenkins, CircleCI, Azure and Buildkite, plus VS Code and IntelliJ extensions and Slack, email and webhook notifications. The Free Edition includes Code and Supply Chain, with scanning for up to 10 repositories and a limit of 10 contributors. Teams supports up to 500 private repositories; Enterprise has no repository or contributor limit. For local or fully CI-based scans, code stays on the user's computer or CI environment; opting into AI processing sends part of a file containing a finding to a model. The Free Edition costs nothing. Teams — Code is listed at $30 a month.