11 dépôts
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 est une bibliothèque basée sur Haskell et un outil en ligne de commande conçu pour l'analyse de code source polyglotte. Il fonctionne comme un framework d'analyse statique et un parseur d'arbres de syntaxe abstraite (AST) capable de convertir plusieurs langages de programmation en arbres structurés basés sur des définitions de grammaire. Le système se distingue par son moteur de comparaison sémantique qui détecte les changements structurels et fonctionnels entre les versions de code, plutôt que de se limiter aux différences textuelles. Il permet une analyse transversale en traduisant les langages sources en une représentation intermédiaire polyglotte unifiée. Le framework offre une large gamme de capacités pour parser des langages comme Rust, Go, Python, Ruby, PHP, TypeScript et TSX. Il couvre l'analyse sémantique via le mappage de portée, l'extraction de symboles, la génération de graphes sémantiques, ainsi que des outils d'analyse de motifs et d'évaluation du comportement des programmes. L'ensemble d'outils inclut des utilitaires en ligne de commande pour standardiser la mise en page des fichiers sources Haskell.
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
Analyzes the structure of source files to identify which function or method contains a specific line of code.
Ce projet est un guide de programmation satirique et une parodie de la qualité du code qui sert de catalogue d'anti-patterns logiciels. Il fournit une collection de principes de codage intentionnellement mauvais conçus pour démontrer l'opposé du code propre et des meilleures pratiques de l'industrie. En implémentant un ensemble de choix de conception défectueux et de mauvaises habitudes de codage, le projet identifie les erreurs courantes dans l'architecture logicielle. Il utilise ces exemples satiriques pour mettre en évidence la dette technique et les structures de code fragiles qui mènent à des problèmes de maintenance et à l'instabilité du système. Le projet couvre des domaines incluant l'analyse de la qualité du code et l'éducation à l'architecture logicielle, en mappant des principes satiriques à des défauts architecturaux réels.
Includes methods for scanning source code to detect structural flaws aligned with poor design signatures.
danger-js est un outil de revue de code automatisé et un plugin de pipeline CI qui fonctionne comme un linter de pull request. Il vérifie les messages de commit, suit les changements de dépendances et s'assure que les pull requests respectent les normes du projet en publiant des commentaires et des retours automatisés directement dans l'interface de contrôle de version. Le système s'intègre avec divers fournisseurs Git, notamment GitHub, GitLab et BitBucket, pour récupérer les métadonnées des pull requests et exécuter des règles de revue personnalisées. Il permet aux équipes de regrouper et de distribuer des conventions de revue sous forme de modules partageables et prend en charge l'exécution de règles écrites dans des langages transpilés via une configuration de runtime. Le projet couvre un large éventail de capacités d'automatisation, incluant la gouvernance de la qualité du code, les audits de gestion des dépendances et l'application de l'étiquette des pull requests. Il peut analyser les résultats de linters externes, de test runners et d'outils de couverture pour signaler les échecs, surveiller la taille des bundles et détecter les anti-patterns ou les mots interdits au sein de la base de code. L'outil peut être exécuté comme une étape de build au sein d'un pipeline d'intégration continue ou localement via des git-hooks.
Scans code changes for problematic patterns or structural flaws and triggers warnings.
This project is a comprehensive instructional resource and course for building neural networks using PyTorch. It covers the fundamental building blocks of deep learning, including tensor manipulation, automatic differentiation, and the construction of modular neural network components. The repository serves as a technical guide for several specialized domains. It provides implementation details for computer vision tasks such as image classification, object detection, and semantic segmentation, as well as natural language processing workflows involving transformers, recurrent networks, and gen
Uses large language models to analyze source code for the purpose of creating performance optimization tools.
phpDocumentor est un générateur de documentation API PHP et un analyseur de code source qui transforme les fichiers PHP et les DocBlocks en références API HTML structurées. Il fonctionne comme un générateur de site statique et un outil de documentation automatique conçu pour synchroniser la documentation technique avec les changements de code. Le projet se distingue en agissant comme un générateur de diagrammes UML, produisant des graphiques de classes et d'architecture via PlantUML basés sur l'analyse du code source. Il prend également en charge la rédaction de manuels techniques, rendant des guides écrits à la main en Markdown et ReStructuredText aux côtés des références API générées automatiquement. L'outil fournit de larges capacités pour l'analyse du code source, y compris la génération d'arbres de syntaxe abstraits, le marquage de métadonnées et la gestion de l'héritage de la documentation. Il inclut des outils de visualisation pour l'architecture du code, le contrôle de la visibilité des éléments et la gestion de la documentation versionnée. Les builds peuvent être gérés via des fichiers de configuration XML pour automatiser la génération au sein des pipelines d'intégration continue.
Analyzes source code files to transform them into structured intermediate representations for processing.
Appledoc est un générateur de documentation Objective-C et un générateur de sites statiques qui analyse les commentaires du code source pour créer des ensembles de documentation HTML structurés. Son objectif principal est de générer des guides de référence développeur professionnels qui adhèrent à la documentation officielle de style Apple. L'outil se distingue en s'intégrant directement dans le processus de compilation du projet via des scripts de phase de build automatisés, garantissant que les guides techniques sont mis à jour au fur et à mesure des changements de code. Il offre une personnalisation étendue via des modèles HTML et CSS externes, ainsi qu'un système de configuration de liste de propriétés pour gérer les paramètres globaux et la résolution dynamique des chemins au moment de l'exécution. Le projet couvre un large éventail de capacités, incluant l'analyse du code source pour extraire les signatures des membres de l'API et organiser les méthodes en sections structurées. Il dispose d'un référencement croisé automatique entre les classes et les protocoles, la possibilité d'importer du contenu statique externe ou du markdown dans l'index principal, et la génération d'ensembles de documentation indexés spécifiquement pour les environnements de développement intégrés. Le système inclut également des utilitaires pour publier des versions de documentation via des fichiers d'archive et mettre à jour des flux atom, ainsi que des outils de débogage pour vérifier l'état final résolu des paramètres de configuration.
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.