BrontoSource vs Coccinelle
BrontoSource
brontosource.devCoccinelle
coccinelle.gitlabpages.inria.frSide by side
| Figure | BrontoSource | Coccinelle |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| macOS | — | Yes |
| Linux | — | Yes |
| Plans published | 0 | 1 |
| Spec score · Code Refactoring Tools | 7.7 (#11) | 7.9 (#9) |
| Purpose | Bronto is a tool for automatically performing smart find-and-replace across a codebase. | Coccinelle is a program matching and transformation engine that uses SmPL to specify desired matches and transformations in C code. |
| Support | Users can contact [email protected] or create an issue on the public GitHub repository. | Questions can be sent to the [email protected] mailing list, which is moderated for non-members; contributions are preferred via the list and may also be submitted on GitHub. |
Plans
In their own words
BrontoSource
BrontoSource is a desktop tool for deterministic C++ refactoring across large repositories. Teams define explicit transformation rules and apply them across thousands of files. Documented operations include expression matching, extraction, and inlining for functions, constructors, type aliases, enumerators, namespaces, macros, declarations, types, and lambda captures. The command-line tool accepts Clang arguments, a compilation database, or compile_flags.txt, then can generate Fossil-format edits, merge edit files, and apply changes. BrontoSource describes its output as repeatable, traceable diffs for review. Its homepage reports 100M+ lines transformed safely and 10,000+ files refactored in one transformation. The product is in early access, with access arranged through BrontoSource; its API can also be tried on Compiler Explorer without installation. Pricing is on request. A header-only support library supports CMake 3.10.0+ and Bazel 8.1.1+ and uses 0BSD.
Coccinelle
Coccinelle is a free program matching and transformation engine for working with C code. It uses SmPL to describe code patterns and the transformations to apply when matches are found. A single semantic patch can change code at many sites across hundreds of files while allowing for differences in spacing, variable names, irrelevant code, and coding style. The project describes uses including automating collateral changes after library API evolution and finding and fixing bugs in systems code. Coccinelle semantic patches and bug fixes have been integrated into the official Linux tree, and semantic patches are available in the Linux scripts directory for use with coccicheck. It supports C and C++, with C++ mode invoked using --c++; the project says its C++ support is still being extended, including for high performance computing. The download page lists version 1.3.3, dated September 2, 2026, with source code and precompiled spatch builds. It is available for Linux and macOS as desktop software. Source builds require OCaml, with Python and Menhir needed in specified cases.