4 Repos
Static analysis to identify variables used before they are defined based on program flow.
Distinct from Linter Global Variable Definitions: Distinct from linter global definitions or collection usage; focuses on definition-before-use flow analysis
Explore 4 awesome GitHub repositories matching software engineering & architecture · Variable Usage Analysis. Refine with filters or upvote what's useful.
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
Identifies variables used before definition based on program control flow to prevent runtime errors.
This project is an ESLint plugin and static analysis tool designed to enforce best practices, prevent bugs, and maintain code quality in React projects. It functions as a specialized JSX linter that analyzes the syntax and structure of components to detect anti-patterns and API misuse. The plugin distinguishes itself by providing deep analysis of React-specific patterns, such as detecting state race conditions, preventing nested component definitions, and identifying unstable references that cause unnecessary re-renders. It also includes security hardening rules to identify vulnerabilities li
Analyzes program flow to identify components or variables used within JSX before they are defined.
cppfront ist ein C++-Spracherweiterungs-Frontend und ein Source-to-Source-Übersetzer. Er fungiert als Syntax-Transformator, der experimentelle Spracherweiterungen in standardkonformen C++-Code konvertiert, was das Prototyping neuer Sprachfunktionen innerhalb bestehender Build-Systeme ermöglicht. Das Projekt bietet eine Übersetzungsschicht, die Unterstützung für Pattern-Matching, Contracts und String-Interpolation hinzufügt. Es enthält ein Metaprogrammierungs-Tool für Compile-Time-Reflection und automatisierte Code-Generierung unter Verwendung spezialisierter Metafunktionen. Das System automatisiert verschiedene Entwicklungsaufgaben, einschließlich der Auflösung der Abhängigkeitsreihenfolge durch automatische Vorwärtsdeklarationen und die Verwaltung von Parameterübergabemodi. Zudem wendet es statische Analysen an, um automatische Bounds-Checks einzufügen und die Ressourcenverwaltung durch Anwendung von Move-Semantics am letzten Verwendungspunkt einer Variablen zu optimieren. Das Tool enthält einen Verifizierungsmechanismus, um sicherzustellen, dass der Standard-Quellcode während des Übersetzungsprozesses unverändert bleibt, um Syntax-Regressionen zu verhindern.
Automatically inserts bounds checking and move semantics based on static analysis of container sizes and variable lifetimes.
Amber ist ein Transpiler, der High-Level-Quellcode in ausführbare Shell-Skripte für Bash, Zsh und Ksh übersetzt. Er bietet eine typsichere Umgebung für die Shell-Skript-Generierung, was eine statische Typvalidierung und die Erstellung eigenständiger ausführbarer Skripte ermöglicht. Das Projekt zeichnet sich durch einen Kompilierungsprozess aus, der Tree-Shaking-Import-Optimierung zur Reduzierung der Ausgabegröße und templatebasiertes Skript-Wrapping für benutzerdefinierte Header und Footer umfasst. Es nutzt ein modulbasiertes Abhängigkeitsauflösungssystem mit Sichtbarkeitskontrollen, um die Wiederverwendung von Code über mehrere Dateien hinweg zu verwalten. Die Sprachoberfläche deckt eine breite Palette an Automatisierungsmöglichkeiten ab, einschließlich umfassender Dateisystemverwaltung, Prozesssteuerung und Netzwerkkommunikation via HTTP. Es bietet integrierte Hilfsprogramme für Textverarbeitung, Datenmanipulation, Datums- und Zeitmanagement sowie System-Introspektion. Das Toolset enthält einen integrierten Test-Runner zur Logikverifizierung und ein Dienstprogramm zur automatischen Generierung von Markdown-Projektdokumentation aus Quellcode-Kommentaren.
Performs static analysis of control flow to identify unused declarations and constants.