11 repository-uri
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 este o bibliotecă bazată pe Haskell și un instrument CLI conceput pentru analiza poliglotă a codului sursă. Funcționează ca un framework de analiză statică a programelor și ca un parser poliglot de arbori de sintaxă abstractă (AST), care convertește codul din mai multe limbaje de programare în arbori de sintaxă structurați, pe baza definițiilor gramaticale. Sistemul se distinge printr-un motor de comparare semantică a codului care detectează modificările structurale și de logică între versiuni, în loc să se bazeze pe diferențe textuale. De asemenea, permite analiza între sintaxe diferite prin traducerea limbajelor de nivel înalt într-o reprezentare intermediară poliglotă unificată. Framework-ul oferă o suită largă de capabilități pentru parsarea limbajelor precum Rust, Go, Python, Ruby, PHP, TypeScript și TSX. Acoperă analiza semantică prin maparea scopului codului, extragerea simbolurilor și generarea de grafuri semantice, alături de instrumente pentru analiza modelelor și evaluarea comportamentului programelor. Setul de instrumente include utilitare CLI pentru standardizarea layout-ului fișierelor sursă 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.
Acest proiect este un ghid satiric de programare și o parodie a calității codului care servește drept catalog de anti-tipare software. Oferă o colecție de principii de codare intenționat proaste, concepute pentru a demonstra opusul codului curat și al celor mai bune practici din industrie. Prin implementarea unui set de alegeri de design defectuoase și obiceiuri de codare slabe, proiectul identifică greșelile comune în arhitectura software. Utilizează aceste exemple satirice pentru a evidenția datoria tehnică și structurile de cod fragile care duc la probleme de întreținere și instabilitate a sistemului. Proiectul acoperă domenii precum analiza calității codului și educația în arhitectura software, mapând principiile satirice pe defecte arhitecturale din lumea reală.
Includes methods for scanning source code to detect structural flaws aligned with poor design signatures.
danger-js este un instrument automatizat de code review și un plugin de pipeline CI care funcționează ca un linter pentru pull request-uri. Verifică mesajele de commit, urmărește modificările de dependențe și asigură că pull request-urile respectă standardele proiectului prin postarea de feedback și comentarii automatizate direct în interfața de version control. Sistemul se integrează cu diverși furnizori Git, inclusiv GitHub, GitLab și BitBucket, pentru a prelua metadatele pull request-urilor și a executa reguli de review personalizate. Permite echipelor să împacheteze și să distribuie convenții de review sub formă de module partajabile și suportă execuția regulilor scrise în limbaje transpiled prin configurarea runtime-ului. Proiectul acoperă o gamă largă de capabilități de automatizare, inclusiv guvernanța calității codului, auditurile de gestionare a dependențelor și aplicarea etichetei pull request-urilor. Poate analiza rezultatele de la linters externi, test runners și instrumente de coverage pentru a raporta eșecuri, monitoriza dimensiunile bundle-urilor și detecta anti-pattern-uri sau cuvinte interzise în codebase. Instrumentul poate fi executat ca un pas de build în cadrul unui pipeline CI sau local prin git-hooks.
Scans code changes for problematic patterns or structural flaws and triggers warnings.
Acest proiect este o resursă educațională cuprinzătoare și un curs pentru construirea de rețele neuronale folosind PyTorch. Acoperă elementele fundamentale ale deep learning-ului, inclusiv manipularea tensorilor, diferențierea automată și construcția componentelor modulare de rețele neuronale. Repository-ul servește drept ghid tehnic pentru mai multe domenii specializate. Oferă detalii de implementare pentru sarcini de computer vision, cum ar fi clasificarea imaginilor, detecția obiectelor și segmentarea semantică, precum și fluxuri de lucru de procesare a limbajului natural (NLP) care implică transformatoare, rețele recurente și modele generative. În plus, include o referință pentru AI generativ, concentrându-se în mod specific pe sinteza de imagini prin modele de difuzie și rețele adversariale. Materialul se extinde către optimizarea modelelor și pipeline-uri de deployment. Acoperă tehnici pentru reducerea dimensiunii modelelor și creșterea vitezei de inferență prin cuantizare și exportul modelelor în formate precum ONNX și TensorRT. Alte domenii de capabilitate includ ingineria datelor pentru încărcarea paralelă, evaluarea modelelor folosind metrici personalizate și deployment-ul modelelor de limbaj mari (LLM) open-source. Proiectul este livrat în principal sub formă de serie de Jupyter Notebooks.
Uses large language models to analyze source code for the purpose of creating performance optimization tools.
phpDocumentor este un generator de documentație API PHP și un analizor de cod sursă care transformă fișierele PHP și DocBlock-urile în referințe API HTML structurate. Funcționează ca un generator de site-uri statice și un instrument de documentare automată conceput pentru a sincroniza documentația tehnică cu modificările de cod. Proiectul se distinge prin faptul că acționează ca un generator de diagrame UML, producând grafice de clasă și arhitecturale prin PlantUML pe baza analizei sursei. De asemenea, suportă scrierea manualelor tehnice, randând ghiduri scrise manual în Markdown și ReStructuredText alături de referințele API generate automat. Instrumentul oferă capabilități largi pentru analiza codului sursă, inclusiv generarea de arbori de sintaxă abstractă, etichetarea metadatelor și gestionarea moștenirii documentației. Include instrumente de vizualizare pentru arhitectura codului, controlul vizibilității elementelor și gestionarea documentației versionate. Build-urile pot fi gestionate prin fișiere de configurare XML pentru a automatiza generarea în cadrul pipeline-urilor de integrare continuă.
Analyzes source code files to transform them into structured intermediate representations for processing.
Appledoc este un generator de documentație Objective-C și un generator de site-uri statice care parsează comentariile din codul sursă pentru a crea seturi de documentație HTML structurate. Scopul său principal este de a genera ghiduri de referință profesionale pentru dezvoltatori care aderă la documentația oficială în stil Apple. Instrumentul se distinge prin integrarea directă în procesul de compilare a proiectului prin scripturi automate de build-phase, asigurându-se că ghidurile tehnice sunt actualizate pe măsură ce codul se modifică. Oferă o personalizare extinsă prin șabloane HTML și CSS externe, precum și un sistem de configurare bazat pe property list pentru a gestiona setările globale și rezolvarea dinamică a căilor la runtime. Proiectul acoperă o gamă largă de capabilități, inclusiv analiza codului sursă pentru extragerea semnăturilor membrilor API și organizarea metodelor în secțiuni structurate. Dispune de referințe încrucișate automate între clase și protocoale, capacitatea de a importa conținut static extern sau markdown în indexul principal și generarea de seturi de documentație indexate special pentru mediile de dezvoltare integrate (IDE). Sistemul include, de asemenea, utilitare pentru publicarea versiunilor de documentație prin fișiere arhivă și actualizarea fluxurilor atom, împreună cu instrumente de depanare pentru a verifica starea finală rezolvată a setărilor de configurare.
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.