CodART vs Scalafix
CodART
github.comScalafix
scalacenter.github.ioSide by side
| Figure | CodART | Scalafix |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | — |
| Plans published | 1 | 0 |
| Spec score · Code Refactoring Tools | 8.0 (#8) | 7.0 (#20) |
| Purpose | CodART is a toolkit for automated refactoring and multi-objective optimization of Java source code. | Scalafix is a refactoring and linting tool for Scala. |
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.
Scalafix
Scalafix is a refactoring and linting tool for Scala that automates routine code-health work and one-time migrations. It reports patterns that may lead to production bugs or conflict with coding style, and teams can run rules during code review. Its check option fails when linting or fixes are needed. Syntactic rules run directly on source code; semantic rules need compiled sources with the SemanticDB compiler plugin enabled. Built-in rules include OrganizeImports, RemoveUnused, DisableSyntax, ProcedureSyntax, and RedundantSyntax. Developers can also create custom lint and rewrite rules through its public API. The official build integration is for sbt. Documentation also lists externally maintained integrations for scala-cli, Mill, Gradle, Maven, and Mega-Linter, whose integration supports only built-in syntactic rules. Scalafix is tested on macOS, Linux, and Windows. Listed tested Scala versions are 2.12.21, 2.13.18, and 3.9.0 LTS. It is no longer published for Scala 2.11 or sbt 0.13.x. Community help is available through Discord and Scala Users. The tool is free.