11 Repos
Tools that convert source code into structured representations to analyze patterns, constraints, or logic.
Distinct from Source Code Analysis: Shortlist candidates focus on vulnerability scanning, educational exercises, or web code, rather than general language syntax analysis.
Explore 11 awesome GitHub repositories matching programming languages & runtimes · Source Code Analysis Tools. Refine with filters or upvote what's useful.
Semantic ist eine auf Haskell basierende Bibliothek und ein Kommandozeilen-Tool für die polyglotte Quellcode-Analyse. Es fungiert als Framework für statische Programmanalyse und als polyglotter Parser für abstrakte Syntaxbäume, der verschiedene Programmiersprachen in strukturierte Syntaxbäume auf Basis von Grammatikdefinitionen umwandelt. Das System zeichnet sich durch eine semantische Code-Vergleichs-Engine aus, die strukturelle und inhaltliche Änderungen zwischen Code-Versionen erkennt, anstatt sich auf rein textuelle Unterschiede zu verlassen. Es ermöglicht zudem die Analyse über verschiedene Programmiersyntaxen hinweg, indem es Oberflächensprachen in eine einheitliche, polyglotte Zwischenrepräsentation übersetzt. Das Framework bietet eine breite Palette an Funktionen für das Parsen von Sprachen wie Rust, Go, Python, Ruby, PHP, TypeScript und TSX. Es deckt die semantische Analyse durch Code-Scope-Mapping, Extraktion von Symbolen und die Generierung semantischer Graphen ab, ergänzt durch Werkzeuge zur Musteranalyse und Bewertung des Programmverhaltens. Das Toolset enthält Kommandozeilen-Dienstprogramme zur Standardisierung von Haskell-Quellcodedateien.
Parses multiple programming languages into a unified format to analyze semantics and behavior across different files.
This project is a static code analysis tool that functions as a code unit resolver and source code line mapper. It identifies the specific function or method that contains a given line of code by analyzing the structure of source files without executing the program. The utility maps line numbers to their parent code units by examining the organization of source files and identifying the ownership of specific lines. It determines the boundaries of functions and methods through text-based structural parsing and range detection. These capabilities support source code analysis and static analysi
Parses raw source code to identify the boundaries of function and method definitions.
Dieses Projekt ist ein satirischer Programmier-Guide und eine Parodie auf Code-Qualität, die als Katalog von Software-Anti-Patterns dient. Es bietet eine Sammlung absichtlich schlechter Programmierprinzipien, die dazu gedacht sind, das Gegenteil von Clean Code und bewährten Industriepraktiken zu demonstrieren. Durch die Implementierung fehlerhafter Designentscheidungen und schlechter Coding-Gewohnheiten identifiziert das Projekt häufige Fehler in der Softwarearchitektur. Es nutzt diese satirischen Beispiele, um technische Schulden und fragile Codestrukturen aufzuzeigen, die zu Wartungsproblemen und Systeminstabilität führen. Das Projekt deckt Bereiche wie Code-Qualitätsanalyse und Softwarearchitektur-Ausbildung ab und ordnet satirische Prinzipien realen architektonischen Fehlern zu.
Includes methods for scanning source code to detect structural flaws aligned with poor design signatures.
danger-js ist ein automatisiertes Code-Review-Tool und CI-Pipeline-Plugin, das als Pull-Request-Linter fungiert. Es überprüft Commit-Nachrichten, verfolgt Abhängigkeitsänderungen und stellt sicher, dass Pull Requests den Projektstandards entsprechen, indem es automatisiertes Feedback und Kommentare direkt in die Versionskontroll-Oberfläche postet. Das System integriert sich in verschiedene Git-Provider, darunter GitHub, GitLab und BitBucket, um Pull-Request-Metadaten abzurufen und benutzerdefinierte Review-Regeln auszuführen. Es erlaubt Teams, Review-Konventionen als teilbare Module zu verpacken und unterstützt die Ausführung von Regeln, die in transpilierten Sprachen geschrieben wurden, über Laufzeitkonfiguration. Das Projekt deckt ein breites Spektrum an Automatisierungsfunktionen ab, einschließlich Governance der Codequalität, Audits des Abhängigkeitsmanagements und der Durchsetzung von Pull-Request-Etikette. Es kann Ergebnisse von externen Lintern, Test-Runnern und Coverage-Tools parsen, um Fehler zu melden, Bundle-Größen zu überwachen und Anti-Patterns oder verbotene Wörter innerhalb der Codebasis zu erkennen. Das Tool kann als Build-Schritt innerhalb einer CI-Pipeline oder lokal über Git-Hooks ausgeführt werden.
Scans code changes for problematic patterns or structural flaws and triggers warnings.
Dieses Projekt ist eine umfassende Lehrressource und ein Kurs zum Aufbau neuronaler Netze mit PyTorch. Es deckt die grundlegenden Bausteine des Deep Learning ab, einschließlich Tensor-Manipulation, automatischer Differenzierung und der Konstruktion modularer Komponenten für neuronale Netze. Das Repository dient als technischer Leitfaden für verschiedene spezialisierte Bereiche. Es bietet Implementierungsdetails für Computer-Vision-Aufgaben wie Bildklassifizierung, Objekterkennung und semantische Segmentierung sowie Workflows für die Verarbeitung natürlicher Sprache (NLP) mit Transformern, rekurrenten Netzen und generativen Modellen. Zudem enthält es eine Referenz für generative KI, mit Fokus auf die Synthese von Bildern mittels Diffusionsmodellen und adversarialen Netzwerken. Das Material erstreckt sich auf Modelloptimierung und Deployment-Pipelines. Es behandelt Techniken zur Reduzierung der Modellgröße und zur Erhöhung der Inferenzgeschwindigkeit durch Quantisierung und den Export von Modellen in Formate wie ONNX und TensorRT. Weitere Kompetenzbereiche umfassen Data Engineering für paralleles Laden, Modellevaluierung mittels benutzerdefinierter Metriken und das Deployment von Open-Source Large Language Models. Das Projekt wird primär als eine Reihe von Jupyter Notebooks bereitgestellt.
Uses large language models to analyze source code for the purpose of creating performance optimization tools.
phpDocumentor is a PHP API documentation generator and source code analyzer that transforms PHP files and DocBlocks into structured HTML API references. It functions as a static site generator and an automatic documentation tool designed to synchronize technical documentation with code changes. The project distinguishes itself by acting as a UML diagram generator, producing class and architectural graphs via PlantUML based on source analysis. It also supports technical manual authoring, rendering hand-written guides in Markdown and ReStructuredText alongside the automatically generated API re
Analyzes source code files to transform them into structured intermediate representations for processing.
Appledoc ist ein Objective-C-Dokumentationsgenerator und Static Site Generator, der Quellcode-Kommentare parst, um strukturierte HTML-Dokumentationssets zu erstellen. Sein Hauptzweck ist die Generierung professioneller Entwickler-Referenzhandbücher, die den offiziellen Apple-Dokumentationsstilen entsprechen. Das Tool zeichnet sich dadurch aus, dass es sich direkt in den Projekt-Kompilierungsprozess mittels automatisierter Build-Phase-Skripte integriert und so sicherstellt, dass technische Handbücher bei Codeänderungen aktualisiert werden. Es bietet umfangreiche Anpassungsmöglichkeiten durch externe HTML- und CSS-Vorlagen sowie ein Property-List-Konfigurationssystem zur Verwaltung globaler Einstellungen und dynamischer Laufzeit-Pfad-Auflösung. Das Projekt deckt ein breites Spektrum an Funktionen ab, einschließlich Quellcode-Analyse zur Extraktion von API-Member-Signaturen und Organisation von Methoden in strukturierte Abschnitte. Es bietet automatische Querverweise zwischen Klassen und Protokollen, die Möglichkeit, externe statische Inhalte oder Markdown in den Hauptindex zu importieren, sowie die Generierung indizierter Dokumentationssets speziell für integrierte Entwicklungsumgebungen (IDEs). Das System enthält zudem Dienstprogramme für die Veröffentlichung von Dokumentationsversionen mittels Archivdateien und die Aktualisierung von Atom-Feeds sowie Debugging-Tools zur Verifizierung des finalen aufgelösten Zustands der Konfigurationseinstellungen.
Parses specially formatted comments and method signatures in source code to automatically create structured API references.
OpenRewrite is an automated refactoring engine and source-to-source migration framework. It uses a lossless semantic tree parser to represent source code as type-aware trees that preserve original whitespace and formatting, enabling precise and deterministic modifications. The project utilizes a declarative refactoring pipeline where sequences of transformations are defined in YAML to resolve breaking changes and technical debt. It features type-aware pattern matching and cross-language model mapping to apply similar refactoring patterns across different programming languages. The framework
Converts source code into structured representations to collect metadata across all source files for targeted changes.
syn is a Rust syntax tree parser and token stream converter. It serves as a toolkit for procedural macro development, providing a framework to parse Rust source code into structured syntax trees for analysis and transformation. The project enables the manipulation of Rust abstract syntax trees through specialized visitor and folder patterns for traversing and mutating nodes. It provides a bidirectional mapping that allows developers to convert token streams into structured trees and print those trees back into tokens for code generation. The library covers a broad range of syntax analysis ca
Converts Rust tokens into searchable tree representations to analyze code patterns and enforce architectural constraints.
nvim-treesitter-context is a Neovim editor extension that provides structural awareness of source files by displaying sticky headers of surrounding code blocks. It utilizes Tree-sitter queries to identify parent functions and classes, keeping them visible at the top of the editor window while scrolling. The tool allows for language rule customization, enabling the definition of specific structural queries to modify how context is detected for different programming languages. Users can also adjust the visual appearance of the context window through custom highlight groups. Beyond visual orien
Analyzes the source code structure to enable jumping between a line of code and its parent definition.
This project serves as a comprehensive library and architectural guide for implementing established software design patterns within the Unity engine using C#. It provides a structured approach to organizing game logic, focusing on improving code maintainability, scalability, and long-term project health through proven structural solutions. The collection distinguishes itself by offering practical implementations of architectural patterns that decouple game systems, such as event dispatching and request handling, while providing tools to identify and rectify common coding anti-patterns. It fur
Provides tools to identify and rectify common coding anti-patterns to improve overall codebase quality.