Code Analyzer¶
Code Analyzer ist eine Anwendung zur automatisierten Analyse und Dokumentation von Quellcode-Projekten in Java, PHP und Python. Die Anwendung kombiniert eine statische Strukturanalyse mit einer mehrstufigen, rollenbasierten LLM-Pipeline, die jede Quelldatei aus vier spezialisierten Perspektiven betrachtet (Geschäftslogik, Technik, Schnittstellen, Issues) und die aggregierten Ergebnisse in eine systemweite Tiefenanalyse mit Berichtserzeugung überführt. Zwischenergebnisse werden als YAML persistiert und stehen damit als nachvollziehbare, auditierbare Schicht zwischen Quellcode und Auswertung.
Auf einen Blick¶
- Komplette Code-Bestände in Java, PHP oder Python systematisch erfassen und dokumentieren, ohne jede Klasse manuell zu sichten.
- Geschäftsfunktionen, Capabilities und kritische Methoden je Datei strukturiert herausarbeiten und auf Domain-Ebene zusammenführen.
- API-Landschaft (REST-Endpunkte, SOAP-Services) automatisch katalogisieren und als Hierarchie visualisieren.
- Sicherheits- und Qualitätsbefunde nach Schweregrad und Kategorie sichten und priorisieren.
- Architekturstil, Schichten-Verteilung und Modulstruktur eines Projekts ableiten und bewerten lassen.
- Einen vollständigen Analysebericht in deutscher Sprache erzeugen, der von Management Summary bis zu konkreten Empfehlungen reicht.
- Capabilities und Issues für die Weiterverarbeitung als CSV exportieren.
Highlights¶
Im Vergleich zu einem direkten Prompt an ein LLM oder einem einfachen Skript-Aufruf liefert die Anwendung deterministisch reproduzierbare und aggregierbare Ergebnisse, da sie statische Vorverarbeitung, gestaffelte LLM-Aufrufe und persistente Zwischenstände kombiniert.
- Mehrstufige LLM-Pipeline mit Rollen-Spezialisierung — Pro Quelldatei laufen vier separate LLM-Aufrufe mit eigenen Rollen (Senior Software Architect für Business-Logik, Technik und Interfaces; Senior Security Engineer für Issues). Jede Rolle erhält einen fokussierten Prompt und eine erzwungene JSON-Struktur, was die Tiefenschärfe und Konsistenz der Ergebnisse erhöht.
- Aggregierte Systemanalyse in sieben Schritten — Auf Basis der Datei-YAMLs erzeugt eine zweite Pipeline eine projektweite Auswertung in sieben Etappen (Übersicht, Architektur, Business-Domains, Interfaces, Qualität, Modernisierung, Executive Summary) und führt sie zu einem zusammenhängenden Bericht zusammen.
- Trennung von Erfassung und Auswertung — Code Scanner und Code Analyzer sind separate Anwendungen, die ausschließlich über das YAML-Verzeichnis kommunizieren. Eine einmal erfasste Codebasis kann ohne erneute LLM-Aufrufe beliebig oft ausgewertet, exportiert oder neu berichtet werden.
- Statische Strukturanalyse als Baseline — Architekturstil, Schichten und Build-Module werden regelbasiert per Regex und Keyword-Listen erkannt, bevor das LLM hinzugezogen wird. Das reduziert Halluzinationen und liefert eine objektive Bezugsgröße neben der LLM-Bewertung.
- YAML als auditierbare Zwischenschicht — Sämtliche LLM-Antworten werden je Datei strukturiert als YAML abgelegt. Befunde sind damit nachvollziehbar, versionierbar, diff-fähig und unabhängig vom Auswertungs-Frontend nutzbar.
- Anbindung an drei Sprachfamilien und beliebige LLM-Endpoints — Verarbeitet Java-, PHP- und Python-Projekte vom Dateisystem; spricht jeden OpenAI-kompatiblen Endpoint an (lokal mit Ollama oder vLLM, über die OpenAI-API oder LM Studio).
- Asynchrone Verarbeitung mit konfigurierbarer Parallelität — Datei-Analysen laufen parallel mit einer Semaphore (Default: 3), was den Durchsatz an leistungsfähige LLMs anpasst, ohne kleine lokale Endpoints zu überlasten.
- Validierungs- und Reparaturschritte — Eine eigene Validierungsoberfläche prüft die YAML-Bestände auf Vollständigkeit; ein CLI-Werkzeug analysiert fehlgeschlagene Dateien gezielt nach.
- Konfigurierbarer LLM-Betrieb — Endpoint, Modell und API-Key sind über Umgebungsvariablen oder die Oberfläche austauschbar; lokale und Cloud-Modelle lassen sich gleichermaßen einsetzen.