CodART vs Spoon
CodART
github.comSpoon
spoon.gforge.inria.frSide by side
| Figure | CodART | Spoon |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Code Refactoring Tools | 8.0 (#8) | 7.8 (#10) |
| License | The repository includes an MIT License that permits use, copying, modification, distribution, sublicensing, and sale subject to its stated conditions. | Spoon is free and open source under the CeCILL-C and MIT licenses. |
| Purpose | CodART is a toolkit for automated refactoring and multi-objective optimization of Java source code. | Spoon is an open-source library for analyzing, rewriting, transforming, and transpiling Java source code. |
| Support | The repository invites questions by email at [email protected] and welcomes project contributions and discussion comments. | The site directs users seeking professional development, training, or extension support to comment on a GitHub issue. |
Plans
In their own words
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.
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.