cqfn/aibolit

A Static Analyzer for Java Powered by Machine Learning: Identifies Anti-Patterns Begging for Refactoring

59
/ 100
Established

Leverages a pre-trained machine learning model (pickle-based) to rank detected code patterns by their actual impact on cyclomatic complexity, rather than treating all violations equally. Extracts syntactic metrics from Java AST and uses the model to compute importance scores, enabling developers to prioritize refactoring efforts. Supports multiple output formats (compact, long, XML) with per-pattern line-level reporting and pattern suppression, and runs as a Python CLI tool or Docker container for CI/CD integration.

No Package No Dependents
Maintenance 13 / 25
Adoption 9 / 25
Maturity 16 / 25
Community 21 / 25

How are scores calculated?

Stars

97

Forks

37

Language

Java

License

MIT

Last pushed

Mar 13, 2026

Commits (30d)

0

Get this data via API

curl "https://pt-edge.onrender.com/api/v1/quality/ml-frameworks/cqfn/aibolit"

Open to everyone — 100 requests/day, no key needed. Get a free key for 1,000/day.