PMD is a multi-language static code analyzer used to identify programming flaws, unused variables, and dead code without executing the program. It functions as a code smell detector and coding standard enforcer, ensuring source code adheres to specific naming conventions, structural requirements, and project style guides. The project features an XPath-based rule engine that allows users to define custom analysis patterns using queries against an abstract syntax tree. It also includes a copy-paste detector to identify duplicated code blocks across multiple files and a visual rule designer for
Flake8 is a Python style checker and static analysis tool that identifies programmatic errors and violations of coding standards in source files. It serves as a linting wrapper that aggregates multiple checkers into a single interface, functioning as a pluggable framework for Python code analysis. The tool incorporates a cyclomatic complexity analyzer to measure the logical complexity of functions and identify code that requires refactoring. It is designed for extensibility, allowing the integration of custom plugins and rules through defined entry points. The system provides capabilities fo
Vulture is a static analysis tool and linter designed to find unused variables, functions, and classes in Python source code. It operates as a dead code detector and unused code finder that scans source files to identify unreachable expressions and imports without executing the code. The tool employs a confidence-based heuristic scoring system to assign probability values to detections, helping to distinguish truly unused symbols from potential false positives. It further assists in pruning dead logic by sorting detected unused classes and functions by line count to prioritize the removal of
Pylint is a static code analyzer for Python that scans source code for errors, coding standard violations, code smells, and type-related issues without executing the program. It functions as a plugin-based linter framework, allowing users to extend its analysis capabilities with custom or third-party checks for project-specific rules and framework support. The tool also includes a duplicate code detector that identifies identical or near-identical code blocks across a project to help reduce redundancy. Beyond its core linting functionality, Pylint can generate UML class and package diagrams f
code2flow ist ein statischer Programmfluss-Mapper und Generator für Quellcode-Aufrufdiagramme (Call Graphs). Er analysiert Quellcode, um visuelle Flussdiagramme zu erstellen, die Funktionsaufrufbeziehungen und Ausführungspfade abbilden.
The main features of scottrogowski/code2flow are: Call Graph Generators, Static Call Graph Generators, Static Call Site Mapping, Async Flow Visualization, Asynchronous Flow Visualizers, Abstract Syntax Tree Parsing, Static Program Flow Mappers, Static Code Analysis.
Open-source alternatives to scottrogowski/code2flow include: pmd/pmd — PMD is a multi-language static code analyzer used to identify programming flaws, unused variables, and dead code… pycqa/flake8 — Flake8 is a Python style checker and static analysis tool that identifies programmatic errors and violations of coding… jendrikseipp/vulture — Vulture is a static analysis tool and linter designed to find unused variables, functions, and classes in Python… pylint-dev/pylint — Pylint is a static code analyzer for Python that scans source code for errors, coding standard violations, code… jshint/jshint — JSHint is a JavaScript static analysis tool and linter designed to detect errors and enforce coding standards. It… jquery/esprima — Esprima is a JavaScript parser that converts source code into a structured abstract syntax tree. It implements a…