3 Repos
Static analysis rules that validate code against specific language version targets to ensure runtime compatibility.
Distinct from Deterministic Simulation Environments: Distinct from Deterministic Simulation Environments: focuses on static language version checking rather than runtime execution reproducibility.
Explore 3 awesome GitHub repositories matching software engineering & architecture · Version Compatibility Analyzers. Refine with filters or upvote what's useful.
This project is a static analysis engine and type checker designed for PHP codebases. It evaluates source code structure and type annotations to identify potential bugs, type mismatches, and logic errors without executing the application. By parsing code into an abstract syntax tree and applying a rule-based validation framework, it enforces code quality and safety standards across a project. What distinguishes this tool is its sophisticated type inference engine, which models dynamic language features, magic methods, and conditional types to maintain accuracy even in unconventional code. It
The static analysis tool analyzes code against specific version targets to ensure compatibility across different runtime environments.
Rector is an automated PHP refactoring and modernization tool designed to upgrade language versions and modernize syntax using predefined rules. It functions as a static analysis engine that inspects code structures and types to identify refactoring targets without executing the code. The project provides a framework for defining custom transformation logic to automate project-specific changes. It distinguishes itself by offering specialized capabilities for migrating legacy or custom frameworks to modern alternatives and converting docblock annotations into native language attributes. The s
Includes static analysis rules that ensure code is compatible with specific target language versions.
Phan ist ein statischer Analysator und Typ-Prüfer für PHP, der Fehler und Typ-Inkompatibilitäten identifiziert, ohne den Code auszuführen. Er dient als Qualitäts-Gate für Continuous-Integration-Pipelines und als Tool zur Überprüfung der Typsicherheit, wobei er insbesondere Union-Types, Generics und Array-Shapes prüft. Das Projekt zeichnet sich durch die Verwendung eines Hintergrund-Daemons und die Implementierung des Language Server Protocol aus, die Echtzeit-Diagnosen und Navigation innerhalb von Editoren ermöglichen. Es verfügt zudem über ein Baseline-basiertes Unterdrückungssystem, das es Entwicklern erlaubt, bestehende Fehler in einer Snapshot-Datei zu erfassen, um sich ausschließlich auf neue Regressionen zu konzentrieren. Die Analyse-Engine deckt ein breites Spektrum an Funktionen ab, einschließlich der Erkennung von Dead Code, der Validierung der Sprachkompatibilität über verschiedene PHP-Versionen hinweg sowie der Inferenz von Variablen- und Template-Typen. Sie unterstützt erweiterbare Analysen durch ein Plugin-System und bietet automatisierte Code-Korrekturen für eine Teilmenge der erkannten Probleme. Benutzer können den Prozess durch die Generierung einer Konfigurationsdatei mit wählbaren Strengegraden (Strictness Levels) bootstrappen, um ihre Codebasis schrittweise zu validieren.
Check for correct usage of version-specific language features and identify deprecated attributes across different versions.