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 के लिए एक समझौताहीन, नियतात्मक (deterministic) कोड फ़ॉर्मेटर है। यह सोर्स कोड को एक एब्स्ट्रैक्ट सिंटैक्स ट्री में पार्स करके और इसे स्टाइल नियमों के एक कठोर, ओपिनियनेटेड सेट के अनुसार पुनर्जीवित करके कार्य करता है। फ़ॉर्मेटिंग प्रक्रिया को स्वचालित करके, यह मैन्युअल स्टाइल बहसों और कॉन्फ़िगरेशन ओवरहेड को समाप्त करता है, यह सुनिश्चित करते हुए कि मूल इनपुट की परवाह किए बिना पूरे प्रोजेक्ट्स में कोड सुसंगत बना रहे। यह टूल गति और डेवलपमेंट वर्कफ़्लो में सहज एकीकरण पर अपने फोकस के माध्यम से खुद को अलग करता है। यह बड़े कोडबेस पर उच्च प्रदर्शन बनाए रखने के लिए कंटेंट-आधारित फ़ाइल कैशिंग और पैरेलल प्रोसेसिंग का उपयोग करता है, जबकि कोड कमिट होने से पहले स्टाइल कंसिस्टेंसी लागू करने के लिए वर्ज़न कंट्रोल हुक का समर्थन करता है। प्रोजेक्ट इतिहास को संरक्षित करने के लिए, यह वर्ज़न कंट्रोल ब्लेम ट्रैकिंग में विशिष्ट कमिट्स को अनदेखा करने के लिए तंत्र प्रदान करता है, यह सुनिश्चित करते हुए कि स्वचालित स्टाइल परिवर्तन मूल लेखकत्व को अस्पष्ट न करें। मानक सोर्स फ़ाइलों से परे, फ़ॉर्मेटर अपनी क्षमताओं का विस्तार 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 एक बहुभाषी स्टैटिक कोड एनालाइज़र है जिसका उपयोग प्रोग्राम को निष्पादित किए बिना प्रोग्रामिंग खामियों, अप्रयुक्त वेरिएबल्स और डेड कोड की पहचान करने के लिए किया जाता है। यह एक कोड स्मेल डिटेक्टर और कोडिंग स्टैंडर्ड एनफोर्सर के रूप में कार्य करता है, यह सुनिश्चित करता है कि सोर्स कोड विशिष्ट नामकरण सम्मेलनों, संरचनात्मक आवश्यकताओं और प्रोजेक्ट स्टाइल गाइड्स का पालन करता है। इस प्रोजेक्ट में एक 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 Elixir के लिए एक स्टेटिक विश्लेषण टूल और लिंटर है। यह एक कोड गुणवत्ता विश्लेषक के रूप में कार्य करता है जो शैलीगत विसंगतियों, सामान्य गलतियों और संभावित सुरक्षा कमजोरियों की पहचान करने के लिए सोर्स कोड को स्कैन करता है। यह टूल प्रोजेक्ट-विशिष्ट कोडिंग मानकों को लागू करने के लिए विशेष नियमों को परिभाषित करने और परीक्षण करने के लिए एक अनुकूलन योग्य फ्रेमवर्क प्रदान करता है। यह रिफैक्टरिंग और सरलीकरण के अवसरों को उजागर करने के लिए जटिल कोड फ्रैगमेंट और दोहराव की पहचान करता है। इसकी क्षमताएं स्वचालित कोड समीक्षा, Elixir कोडिंग मानकों का प्रवर्तन, और एडिटर एकीकरण के माध्यम से वास्तविक समय डेवलपर प्रतिक्रिया को कवर करती हैं।
Static code analysis for consistency and style.
Typeshed पायथन स्टैंडर्ड लाइब्रेरी और थर्ड-पार्टी पैकेजेस के लिए स्टेटिक टाइप डेफिनिशन और स्टब्स का एक संग्रह है। यह स्टेटिक एनालाइजर्स और इंटीग्रेटेड डेवलपमेंट एनवायरनमेंट के लिए कोड की शुद्धता को मान्य करने और लाइब्रेरीज़ के मूल सोर्स कोड को संशोधित किए बिना टाइप-आधारित कोड पूर्णता प्रदान करने के लिए एक मानकीकृत संसाधन के रूप में कार्य करता है। यह प्रोजेक्ट बाहरी टाइप हिंट फ़ाइलों के निर्माण और रखरखाव पर केंद्रित है जो टाइप एनोटेशन को रनटाइम कार्यान्वयन से अलग करती हैं। यह रनटाइम पैकेजेस के विशिष्ट वर्जन्स के साथ इन स्टब्स को वर्ज़निंग और मैप करने के लिए एक सिस्टम का उपयोग करता है ताकि संगतता बनी रहे। इस रिपॉजिटरी में इन डेफिनिशन्स की सटीकता सुनिश्चित करने के लिए एक वैलिडेशन सूट शामिल है। यह घोषित और वास्तविक प्रकारों के बीच बेमेल की पहचान करने के लिए रनटाइम-टू-स्टब वैलिडेशन, डायरेक्टरी संरचना सत्यापन और ज्ञात टाइप-चेकिंग बग्स को फिर से आने से रोकने के लिए रिग्रेशन टेस्टिंग को कवर करता है।
Listed in the “Code Analysis” section of the Awesome Python awesome list.
Pytype, Python के लिए एक स्टेटिक कोड एनालिसिस टूल और टाइप इन्फरेंस इंजन है। यह एक स्टेटिक टाइप एनालाइज़र के रूप में कार्य करता है जो पूर्ण मैनुअल हिंटिंग की आवश्यकता के बिना टाइप मिसमैच का पता लगाता है और टाइप एनोटेशन को सत्यापित करता है, साथ ही स्टैंडअलोन डेफिनिशन फाइलें बनाने के लिए टाइप स्टब जनरेटर के रूप में भी कार्य करता है। यह प्रोजेक्ट कोड पैटर्न और असाइनमेंट के विश्लेषण के माध्यम से वेरिएबल और फंक्शन प्रकारों को स्वचालित रूप से निर्धारित करके खुद को अलग बनाता है। यह इन्फरेंस इंजन स्ट्रक्चरल कोड वेरिफिकेशन और टाइप स्टब के निर्माण की अनुमति देता है जो मॉड्यूल और फंक्शन के इंटरफेस का वर्णन करते हैं। सिस्टम क्लास पदानुक्रम और फंक्शन कॉल के स्ट्रक्चरल वैलिडेशन, और नेमस्पेस एरर व एट्रिब्यूट एक्सेस उल्लंघन का पता लगाने के लिए सिंबल ट्रैकिंग सहित व्यापक स्टेटिक एनालिसिस ऑपरेशंस को कवर करता है।
Listed in the “Code Analysis” section of the Awesome Python awesome list.
MonkeyType एक रनटाइम टाइप इन्फरेंसर और Python के लिए एनालिसिस टूल है। यह प्रोग्राम निष्पादन के दौरान फंक्शन कॉल से वास्तविक आर्गुमेंट और रिटर्न टाइप को इकट्ठा करता है, ताकि स्टैटिक टाइप एनोटेशन और संगत स्टब फाइलों को ऑटोमेट किया जा सके। यह सिस्टम कैप्चर किए गए निष्पादन ट्रेस को स्टैटिक टाइप हिंट्स में बदल देता है, जिन्हें सीधे सोर्स कोड फंक्शन डेफिनिशन में डाला जा सकता है या बाहरी टाइप स्टब बनाने के लिए उपयोग किया जा सकता है। यह प्रक्रिया मैन्युअल ऑडिटिंग के बजाय वास्तविक डेटा प्रकारों का विश्लेषण करके मौजूदा कोडबेस में टाइप सेफ्टी जोड़ने की अनुमति देती है। इस टूल की क्षमताओं में रनटाइम टाइप कलेक्शन, डायनामिक टाइप इन्फरेंस और स्टैटिक टाइप डेफिनिशन का जनरेशन शामिल है। यह देखे गए रनटाइम पैटर्न को स्टैटिक सिग्नेचर से मैप करने के लिए सोर्स कोड मॉडिफिकेशन और कॉल-ट्रेस पर्सिस्टेंस का उपयोग करता है।
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.