Coccinelle vs CodART
Coccinelle
coccinelle.gitlabpages.inria.frCodART
github.comSide by side
| Figure | Coccinelle | CodART |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Code Refactoring Tools | 7.9 (#9) | 8.0 (#8) |
| Purpose | Coccinelle is a program matching and transformation engine that uses SmPL to specify desired matches and transformations in C code. | CodART is a toolkit for automated refactoring and multi-objective optimization of Java source code. |
| Support | 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. | The repository invites questions by email at [email protected] and welcomes project contributions and discussion comments. |
Plans
In their own words
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.
CodART
CodART is a toolkit for automated refactoring and multi-objective optimization of Java source code. It documents 47 refactoring operations, including Extract Class, Move Method, and Encapsulate Field, and supports project-level and batch work. Its optimization uses NSGA-II and NSGA-III across eight QMOOD quality metrics. The toolkit also includes PPO-based generation of refactoring sequences and models that predict testability from source code metrics. PMD integration with custom rulesets supports code smell detection, while SciTools Understand handles code parsing and metric computation. The documented interfaces are a React web interface and a FastAPI REST API, and Docker Compose instructions explain how to run the services locally. CodART is free under an MIT License, which permits use, copying, modification, distribution, sublicensing, and sale subject to its conditions. The setup requires a separate SciTools Understand professional license; academic licenses are available for research purposes. The quick-start calls for at least 8 GB RAM and 4 CPU cores, with 12 GB or more recommended for large projects. Java is its listed supported language.