15 مستودعات
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 15 awesome GitHub repositories matching programming languages & runtimes · Source Code Analysis Tools. Refine with filters or upvote what's useful.
Semantic is a Haskell-based library and command-line tool designed for polyglot source code analysis. It functions as a static program analysis framework and a polyglot abstract syntax tree parser that converts multiple programming languages into structured syntax trees based on grammar definitions. The system distinguishes itself through a semantic code comparison engine that detects structural and meaningful changes between code versions rather than relying on textual differences. It further enables analysis across different programming syntaxes by translating surface languages into a unifi
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.
هذا المشروع عبارة عن دليل برمجة ساخر ومحاكاة ساخرة لجودة الكود يعمل ككتالوج لأنماط البرمجة السيئة (anti-patterns). يوفر مجموعة من مبادئ البرمجة السيئة عمداً المصممة لإظهار عكس الكود النظيف وأفضل ممارسات الصناعة. من خلال تنفيذ مجموعة من خيارات التصميم المعيبة وعادات البرمجة السيئة، يحدد المشروع الأخطاء الشائعة في هندسة البرمجيات. يستخدم هذه الأمثلة الساخرة لتسليط الضوء على الديون التقنية وهياكل الكود الهشة التي تؤدي إلى مشاكل الصيانة وعدم استقرار النظام. يغطي المشروع مجالات تشمل تحليل جودة الكود وتعليم هندسة البرمجيات، مع ربط المبادئ الساخرة بعيوب معمارية في العالم الحقيقي.
Includes methods for scanning source code to detect structural flaws aligned with poor design signatures.
danger-js هي أداة مراجعة كود مؤتمتة وإضافة لخط أنابيب CI تعمل كمدقق لطلبات السحب (pull request linter). تتحقق من رسائل الالتزام (commit messages)، وتتتبع تغييرات التبعية، وتضمن استيفاء طلبات السحب لمعايير المشروع عن طريق نشر ملاحظات وتعليقات مؤتمتة مباشرة في واجهة التحكم في الإصدار. يتكامل النظام مع مختلف مزودي Git، بما في ذلك GitHub وGitLab وBitBucket، لاسترجاع بيانات طلب السحب وتنفيذ قواعد مراجعة مخصصة. يسمح للفرق بتجميع وتوزيع اتفاقيات المراجعة كوحدات قابلة للمشاركة ويدعم تنفيذ القواعد المكتوبة بلغات مترجمة عبر تكوين وقت التشغيل. يغطي المشروع مجموعة واسعة من قدرات الأتمتة، بما في ذلك حوكمة جودة الكود، وعمليات تدقيق إدارة التبعية، وفرض آداب طلب السحب. يمكنه تحليل النتائج من أدوات التدقيق الخارجية، ومشغلات الاختبار، وأدوات التغطية للإبلاغ عن الإخفاقات، ومراقبة أحجام الحزم، واكتشاف الأنماط المضادة أو الكلمات المحظورة داخل قاعدة الكود. يمكن تنفيذ الأداة كخطوة بناء داخل خط أنابيب تكامل مستمر أو محلياً عبر git-hooks.
Scans code changes for problematic patterns or structural flaws and triggers warnings.
هذا المشروع عبارة عن مورد تعليمي شامل ودورة تدريبية لبناء الشبكات العصبية باستخدام PyTorch. يغطي اللبنات الأساسية للتعلم العميق، بما في ذلك معالجة الموترات (tensors)، والتمايز التلقائي، وبناء مكونات الشبكة العصبية المعيارية. يعمل المستودع كدليل تقني للعديد من المجالات المتخصصة. يوفر تفاصيل تنفيذ لمهام رؤية الكمبيوتر مثل تصنيف الصور، واكتشاف الكائنات، والتجزئة الدلالية، بالإضافة إلى سير عمل معالجة اللغات الطبيعية التي تتضمن المحولات (transformers)، والشبكات المتكررة، والنماذج التوليدية. بالإضافة إلى ذلك، يتضمن مرجعاً للذكاء الاصطناعي التوليدي، مع التركيز بشكل خاص على تركيب الصور عبر نماذج الانتشار (diffusion models) والشبكات التنافسية. تمتد المادة إلى تحسين النماذج وخطوط أنابيب النشر. تغطي تقنيات لتقليل حجم النموذج وزيادة سرعة الاستنتاج من خلال التكميم (quantization) وتصدير النماذج إلى تنسيقات مثل ONNX وTensorRT. تشمل مجالات القدرة الأخرى هندسة البيانات للتحميل المتوازي، وتقييم النموذج باستخدام مقاييس مخصصة، ونشر نماذج اللغات الكبيرة مفتوحة المصدر. يتم تقديم المشروع بشكل أساسي كسلسلة من دفاتر Jupyter.
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 هو مولد توثيق لـ Objective-C ومولد مواقع ساكنة يقوم بتحليل تعليقات الكود المصدري لإنشاء توثيق HTML مهيكل. غرضه الأساسي هو إنشاء أدلة مرجعية احترافية للمطورين تلتزم بتوثيق أسلوب Apple الرسمي. تتميز الأداة بالدمج المباشر في عملية تجميع المشروع عبر نصوص برمجية آلية لمرحلة البناء، مما يضمن تحديث الأدلة التقنية مع تغير الكود. وتوفر تخصيصاً واسعاً من خلال قوالب HTML وCSS خارجية، بالإضافة إلى نظام تهيئة قائمة الخصائص (Property list) لإدارة الإعدادات العالمية وحل المسارات الديناميكي في وقت التشغيل. يغطي المشروع مجموعة واسعة من الإمكانيات بما في ذلك تحليل الكود المصدري لاستخراج توقيعات أعضاء API وتنظيم الدوال في أقسام مهيكلة. ويتميز بالإسناد الترافقي التلقائي بين الفئات والبروتوكولات، والقدرة على استيراد محتوى ساكن خارجي أو Markdown إلى الفهرس الرئيسي، وإنشاء مجموعات توثيق مفهرسة خصيصاً لبيئات التطوير المتكاملة. يتضمن النظام أيضاً أدوات لنشر إصدارات التوثيق عبر ملفات الأرشيف وتحديث خلاصات Atom، إلى جانب أدوات تصحيح الأخطاء للتحقق من الحالة النهائية المحلولة لإعدادات التهيئة.
Parses specially formatted comments and method signatures in source code to automatically create structured API references.
Oclint is a static analysis engine and extensible linting framework designed for C, C++, and Objective-C source code. It functions as a code quality tool that identifies bugs, code smells, and structural complexities by parsing source code into abstract syntax trees to perform semantic inspection. The project is distinguished by its modular architecture, which supports dynamic plugin loading for custom inspection rules and a pluggable reporter system for exporting analysis findings in multiple formats. It replicates build configurations by reading compiler flags and include paths to ensure th
Inspects source code to identify potential bugs, code smells, and structural complexities.
react-docgen is a static analysis library and automated documentation tool designed to extract structured metadata from React component definitions. It functions as an AST-based code parser that transforms source code into machine-readable formats, enabling the programmatic generation of technical documentation and developer portals. The tool identifies component names, descriptions, and methods by analyzing source code without executing it. It specifically extracts detailed property information, including type definitions, default values, and human-readable descriptions derived from docblock
Analyzes source code to create structured representations of component states using static analysis.
swift-syntax is a library for parsing, manipulating, and generating Swift source code. It provides a source-accurate abstract syntax tree representation of Swift code, acting as a parser, transformer, and code generator. The project serves as the infrastructure for Swift macro development, enabling the expansion and transformation of source code during compilation. It is used to build compiler tooling for static analysis, formatting, and automated refactoring. The system covers a broad range of source analysis capabilities, including the ability to convert source code into structured trees f
Provides a comprehensive parser to convert Swift source code into structured trees for programmatic analysis.
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.
This project is a backend service that implements the Language Server Protocol to provide IDE-integrated intelligence for PHP development. It functions as a static analysis tool that parses source code to enable advanced editor features, including autocompletion, symbol navigation, and definition resolution. The server distinguishes itself through its ability to operate within isolated containers and remote development environments. By utilizing a virtual file system abstraction and flexible communication protocols, it maintains project-wide symbol indexing and code analysis even when files a
Analyzes source code to power essential IDE features like jump-to-definition and symbol navigation.