A Python-driven static analysis tool tailored for Java source files.
Designed to detect code smells, style issues, and potential bugs using AST parsing and custom analysis rules.
- Input: One or more Java
.javasource files or directories. - Process: Parses Java files into ASTs, applies language-specific checks.
- Output: Reports issues such as:
- Code smells (long methods, deep nesting)
- Unused imports
- Naming style violations
- Complexity thresholds exceeded
- Missing Javadoc comments
- ✅ Lightweight, Python-native solution
- ✅ Modular rule-based analyzer
- ✅ Configurable thresholds & filters
- ✅ Supports both file and folder input
- ✅ Outputs console-friendly reports (+ optional JSON export)
- Parser Module — Converts Java source into tree structure.
- Rule Engine — Applies each static-analysis rule.
- Reporter Module — Formats results in text or JSON.
➕ Add more Java-specific rules (e.g., null-check enforcement) 📣 Integrate with CI pipelines (GitHub Actions) 📈 Enhance reporting (HTML, SonarQube JSON) 🤝 Support other JVM languages like Kotlin
git clone https://github.com/AvantikaI/cdproject1.git
cd cdproject1
pip install -r requirements.txt