Skip to content
SPECIFICTION
Get listed

Coccinelle vs Spoon

Coccinelle

coccinelle.gitlabpages.inria.fr

Spoon

spoon.gforge.inria.fr

Side by side

FigureCoccinelleSpoon
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
macOSYes—
LinuxYesYes
API—Yes
Self-hosted—Yes
Plans published11
Spec score · Code Refactoring Tools7.9 (#9)7.8 (#10)
PurposeCoccinelle is a program matching and transformation engine that uses SmPL to specify desired matches and transformations in C code.Spoon is an open-source library for analyzing, rewriting, transforming, and transpiling Java source code.
SupportQuestions 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 site directs users seeking professional development, training, or extension support to comment on a GitHub issue.

Plans

Coccinelle

  • CoccinelleFree

Coccinelle pricing →

Spoon

  • Free and Open SourceFree

Spoon pricing →

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.

Visit coccinelle.gitlabpages.inria.fr

Spoon

Spoon is a free, open-source library for analyzing, rewriting, transforming, and transpiling Java source code. It parses source files into an abstract syntax tree (AST), then exposes APIs for inspecting and changing that model. Processors can perform source-level static analysis on selected AST element types, while architectural rules can be expressed as AST checks and run as JUnit tests in continuous integration. Transformation facilities cover instrumentation and refactoring, including helpers for local and generic variables and removing deprecated methods. Spoon can also provide shared analysis of binary and source code through CtClass objects as an alternative to Java reflection. The project supports Java source up to Java 25, but runtime requirements vary: Spoon 11.x needs JDK 17 or later, 10.x needs JDK 11 or later, and 9.x needs Java 8. It is available through Java, the command line, Maven, and Gradle, with a dependency JAR on Maven Central. Command-line use requires manual classpath handling and source dependencies specified with --source-classpath. Spoon is an official Inria project and an OW2 consortium member.

Visit spoon.gforge.inria.fr