48 مستودعات
Static analysis tools for linting, quality checking, and refactoring.
Explore 48 awesome GitHub repositories matching part of an awesome list · Code Analysis. Refine with filters or upvote what's useful.
Ruff is a high-performance static analysis and code formatting tool designed for Python. Built in Rust, it functions as a comprehensive engine that scans source code to detect programming errors, security vulnerabilities, and deviations from established coding standards. By parsing source code into a structured tree representation, it provides both automated linting and style enforcement across entire projects. The tool distinguishes itself through its speed and deep integration into the development lifecycle. It utilizes parallelized file processing to maximize throughput on large codebases
Listed in the “Code Analysis” section of the Awesome Python awesome list.
هذا المشروع عبارة عن منسق كود حتمي لا يساوم لـ Python. يعمل عن طريق تحليل الكود المصدري إلى شجرة بناء جملة مجردة وإعادة إنشائه وفقاً لمجموعة صارمة ومحددة من قواعد الأسلوب. من خلال أتمتة عملية التنسيق، فإنه يلغي نقاشات الأسلوب اليدوية وعبء الإعداد، مما يضمن بقاء الكود متسقاً عبر المشاريع بأكملها بغض النظر عن الإدخال الأصلي. تتميز الأداة بتركيزها على السرعة والتكامل السلس في سير عمل التطوير. تستخدم التخزين المؤقت للملفات القائم على المحتوى والمعالجة المتوازية للحفاظ على أداء عالٍ في قواعد الكود الكبيرة، مع دعم خطافات التحكم في الإصدار لفرض اتساق الأسلوب قبل الالتزام بالكود. للحفاظ على تاريخ المشروع، توفر آليات لتجاهل التزامات معينة في تتبع اللوم للتحكم في الإصدار، مما يضمن أن تغييرات الأسلوب المؤتمتة لا تحجب التأليف الأصلي. إلى جانب ملفات المصدر القياسية، توسع الأداة قدراتها لتشمل دفاتر Jupyter، وملفات تعريف النوع، وأمثلة الكود المضمنة داخل التوثيق. توفر توافقاً واسعاً من خلال إضافات لمحررات النصوص الرئيسية وبيئات التطوير المتكاملة، بالإضافة إلى دعم بروتوكول خادم اللغة. تُدار الإعدادات من خلال ملفات على مستوى المشروع يتم اكتشافها تلقائياً داخل هرمية المجلدات، مما يسمح بسلوك متسق عبر بيئات التطوير المتنوعة.
Listed in the “Code Analysis” section of the Awesome Python awesome list.
p3c is a Java static analysis tool and code quality linter designed to enforce professional coding guidelines and quality standards. It utilizes a set of custom rules based on the PMD engine to scan source code for style violations, performance bottlenecks, and potential bugs. The project is distributed as an IDE linting plugin that provides real-time feedback and warnings during development. It also includes functionality for pre-commit code quality gates, allowing modified files to be scanned and blocked if they violate defined rules before being committed to version control. The analysis
Alibaba coding guidelines for static analysis tools.
mypy is a static type checker for Python that analyzes source code to detect type errors and inconsistencies without executing the program. It functions as a static analysis tool and type inference engine, providing a gradual typing system that allows type hints to be added to a codebase incrementally while maintaining compatibility with dynamic typing. The project distinguishes itself through a combination of performance and precision features. It utilizes a daemon-based incremental checking system and multi-process parallel analysis to manage large codebases, supported by binary cache persi
Listed in the “Code Analysis” section of the Awesome Python awesome list.
This project is a high-performance static type checker and comprehensive development toolkit for Python. It functions as a core analysis engine that identifies type inconsistencies and enforces code correctness, while simultaneously providing a language server implementation to deliver real-time diagnostics and intelligence directly within development environments. The tool distinguishes itself through a parallelized execution engine that maximizes performance across large-scale codebases and monorepo structures. It supports gradual type adoption, allowing developers to integrate type checkin
Listed in the “Code Analysis” section of the Awesome Python awesome list.
Infer is a static analysis toolset for Java, C, C++, and Objective-C designed to detect memory leaks, null dereferences, and resource bugs. It functions as a multi-language bug finder that identifies race conditions, deadlocks, and memory safety issues by translating source code into a common intermediate representation for analysis. The project distinguishes itself through an inter-procedural data flow analyzer that tracks movement between sources and sinks to detect tainted flows and generate data flow graphs. It also includes a framework for verifying temporal properties and reachability u
Static analysis tool for identifying potential bugs in mobile code.
This project is a comprehensive, curated directory of static analysis, linting, and security scanning utilities. It serves as a central resource for developers to discover, compare, and select tools based on specific programming languages, licensing models, and integration requirements. The directory distinguishes itself by providing deep metadata for each listed utility, including community-driven popularity rankings, maintenance status, and deployment methods. By aggregating these tools into a single searchable index, it enables teams to identify solutions for enforcing coding standards, ma
Listed in the “Code Analysis” section of the Awesome Python awesome list.
Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best practices. It functions as a code quality auditor and Javadoc validation tool, checking source code against configurable rulesets to ensure structural and stylistic consistency. The project allows for the creation of custom linting rules by extending a core API to inspect the abstract syntax tree. It further enables specialized validation through the use of XPath expressions to query the syntax tree for specific code patterns and violations. Capability areas include the enforcement
Static analysis of coding conventions and standards.
Bandit is a static analysis security testing tool and vulnerability detection scanner for Python source code. It functions as a security-focused linter and static analyzer that identifies common vulnerabilities and architectural flaws without executing the program. The tool utilizes an abstract syntax tree to analyze code patterns and identifies risky function calls or insecure configurations. It employs a plugin-based rule engine to decouple scanning logic from individual security checks and supports configuration-driven filtering to exclude specific files or ignore certain warnings. The sy
Listed in the “Code Analysis” section of the Awesome Python awesome list.
Error Prone is a static code analyzer and Java compiler extension that identifies common programming mistakes during the build process. It functions as a compiler wrapper that flags potential errors as compile-time failures to prevent bugs from reaching execution. The tool integrates directly into the Java compilation workflow to provide compile-time validation. It allows for the definition of custom linting rules and analysis checks to enforce specific coding standards and detect prohibited API usage. The system utilizes abstract syntax tree analysis and type-aware pattern matching to inspe
Catches common programming mistakes at compile-time.
isort is a Python import sorter and code formatter that organizes import statements into alphabetical groups and sections. It functions as both a utility to automatically rearrange imports for a consistent layout and as a linting tool to verify if code follows specific ordering rules. The project provides configurable layout settings for indentation, wrapping modes, and section ordering to ensure compliance with project style guides and PEP 8. It allows for the exclusion of specific lines or files through inline comments and docstrings. The tool integrates into development workflows via IDE
Listed in the “Code Analysis” section of the Awesome Python awesome list.
Pylint is a static code analyzer for Python that scans source code for errors, coding standard violations, code smells, and type-related issues without executing the program. It functions as a plugin-based linter framework, allowing users to extend its analysis capabilities with custom or third-party checks for project-specific rules and framework support. The tool also includes a duplicate code detector that identifies identical or near-identical code blocks across a project to help reduce redundancy. Beyond its core linting functionality, Pylint can generate UML class and package diagrams f
Listed in the “Code Analysis” section of the Awesome Python awesome list.
PMD هو محلل كود ثابت متعدد اللغات يُستخدم لتحديد عيوب البرمجة، والمتغيرات غير المستخدمة، والكود الميت دون تنفيذ البرنامج. يعمل ككاشف لرائحة الكود (code smell) ومنفذ لمعايير البرمجة، مما يضمن التزام الكود المصدري باتفاقيات تسمية محددة، ومتطلبات هيكلية، وأدلة نمط المشروع. يتميز المشروع بمحرك قواعد قائم على XPath يسمح للمستخدمين بتعريف أنماط تحليل مخصصة باستخدام استعلامات مقابل شجرة بناء الجملة المجردة. كما يتضمن كاشفاً للنسخ واللصق لتحديد كتل الكود المكررة عبر ملفات متعددة ومصمم قواعد مرئي لإنشاء واختبار أنماط الكشف المخصصة. يغطي سطح التحليل اكتشاف الأخطاء، وتحديد مشكلات الصيانة لتقليل الديون التقنية، والتحقق من تطبيقات الاختبار. كما يوفر قدرات لتحديد الأساليب المعقدة للغاية وقوائم المعلمات المفرطة.
Source code analysis for finding bad coding practices.
Pyrefly is a static type checker for Python that operates as a language server, delivering real-time diagnostics, completions, and navigation in any editor supporting the Language Server Protocol. It also performs static tensor shape analysis, using symbolic dimension variables and arithmetic to verify shape consistency in deep learning models without runtime execution. Beyond core type checking, Pyrefly supports gradual adoption workflows: it can generate a baseline of known errors so only new issues are reported, migrate configuration from other type checkers, and automatically suppress exi
Listed in the “Code Analysis” section of the Awesome Python awesome list.
Credo هي أداة تحليل ساكن ومدقق كود (linter) لـ Elixir. تعمل كمحلل لجودة الكود يقوم بمسح الكود المصدري لتحديد التناقضات الأسلوبية، والأخطاء الشائعة، والثغرات الأمنية المحتملة. توفر الأداة إطار عمل قابلاً للتخصيص لتعريف واختبار قواعد متخصصة لفرض معايير ترميز خاصة بالمشروع. تحدد أجزاء الكود المعقدة والتكرار لتسليط الضوء على فرص إعادة الهيكلة والتبسيط. تغطي إمكانياتها مراجعات الكود المؤتمتة، وفرض معايير ترميز Elixir، وردود الفعل الفورية للمطورين من خلال تكاملات المحرر.
Static code analysis for consistency and style.
Typeshed هي مجموعة من تعريفات الأنواع الساكنة (Static type definitions) والـ stubs لمكتبة Python القياسية وحزم الطرف الثالث. تعمل كمورد موحد للمحللات الساكنة وبيئات التطوير المتكاملة للتحقق من صحة الكود وتوفير إكمال الكود القائم على النوع دون تعديل المصدر الأصلي للمكتبات. يركز المشروع على إنشاء وصيانة ملفات تلميحات النوع الخارجية التي تفصل تعليقات النوع عن تنفيذ وقت التشغيل. يستخدم نظاماً لإصدار وتعيين هذه الـ stubs لإصدارات محددة من حزم وقت التشغيل للحفاظ على التوافق. يتضمن المستودع مجموعة تحقق لضمان دقة هذه التعريفات. يغطي هذا التحقق من وقت التشغيل إلى الـ stub لتحديد عدم التطابق بين الأنواع المعلنة والفعلية، والتحقق من هيكل الدليل، واختبار الانحدار لمنع إعادة إدخال أخطاء فحص النوع المعروفة.
Listed in the “Code Analysis” section of the Awesome Python awesome list.
Pytype هي أداة تحليل كود ساكن ومحرك استنتاج الأنواع لـ Python. تعمل كمحلل أنواع ساكن يكتشف عدم تطابق الأنواع ويتحقق من تعليقات الأنواع دون الحاجة إلى تلميحات يدوية كاملة، بينما تعمل أيضاً كمولد stub للأنواع لإنتاج ملفات تعريف مستقلة. يتميز المشروع بتحديد أنواع المتغيرات والدوال تلقائياً من خلال تحليل أنماط الكود والتعيينات. يسمح محرك الاستنتاج هذا بالتحقق الهيكلي للكود وتوليد stubs للأنواع التي تصف واجهات الوحدات والدوال. يغطي النظام عمليات تحليل ساكن واسعة، بما في ذلك التحقق الهيكلي لتسلسلات هرمية للفئات واستدعاءات الدوال، وتتبع الرموز لاكتشاف أخطاء مساحة الاسم وانتهاكات الوصول إلى السمات. كما يوفر بدائيات التحقق من الأنواع لفرض التعليقات ونظام أنواع قادر على نمذجة هياكل البيانات المعقدة باستخدام الاتحادات والخيارات.
Listed in the “Code Analysis” section of the Awesome Python awesome list.
MonkeyType هي أداة استنتاج وتحليل للأنواع في وقت التشغيل لـ Python. تجمع أنواع الوسائط والإرجاع الفعلية من استدعاءات الدوال أثناء تنفيذ البرنامج لأتمتة إنتاج تعليقات النوع الثابتة وملفات stub المتوافقة. يحول النظام تتبعات التنفيذ الملتقطة إلى تلميحات نوع ثابتة، والتي يمكن إدراجها مباشرة في تعريفات دوال الكود المصدري أو استخدامها لإنشاء stub أنواع خارجية. تسمح هذه العملية بإضافة أمان النوع إلى قواعد الكود الحالية من خلال تحليل أنواع البيانات الواقعية بدلاً من التدقيق اليدوي. تغطي قدرات الأداة جمع الأنواع في وقت التشغيل، واستنتاج النوع الديناميكي، وإنشاء تعريفات النوع الثابتة. تستخدم تعديل الكود المصدري واستمرارية تتبع الاستدعاء لتعيين أنماط وقت التشغيل الملحوظة إلى التوقيعات الثابتة.
Listed in the “Code Analysis” section of the Awesome Python awesome list.
Vulture is a static analysis tool and linter designed to find unused variables, functions, and classes in Python source code. It operates as a dead code detector and unused code finder that scans source files to identify unreachable expressions and imports without executing the code. The tool employs a confidence-based heuristic scoring system to assign probability values to detections, helping to distinguish truly unused symbols from potential false positives. It further assists in pruning dead logic by sorting detected unused classes and functions by line count to prioritize the removal of
Listed in the “Code Analysis” section of the Awesome Python awesome list.
code2flow هو مخطط تدفق برنامج ثابت ومولد رسم بياني لاستدعاء الكود المصدري. يحلل الكود المصدري لإنتاج مخططات تدفق بصرية ترسم علاقات استدعاء الوظائف ومسارات التنفيذ. يتضمن المشروع مصور تتبع استدعاء غير متزامن يتبع مسارات التنفيذ من خلال استدعاءات async و await لرسم منطق البرامج غير المتزامنة. كما يوفر واجهة تحليل كود قابلة للبرمجة، مما يسمح بدمج منطق توليد الرسم البياني للاستدعاء في تطبيقات برمجية أخرى. يتعامل النظام مع تحليل الكود الثابت عن طريق تحويل الكود المصدري إلى أشجار بناء جملة مجردة لتحديد تعريفات الوظائف ومواقع الاستدعاء. يدعم تصفية الرسم البياني للاستدعاء لتقييد نطاق التصورات من خلال مرشحات المحتوى واستخراج المسار المحدود العمق، مع توفير تصميم بصري لتمييز تدفقات المنطق.
Listed in the “Code Analysis” section of the Awesome Python awesome list.