4 个仓库
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 是一个 C++ 语言扩展前端和源码到源码的翻译器。它作为一个语法转换器,将实验性语言扩展转换为符合标准的 C++ 代码,从而允许在现有构建系统中对新语言特性进行原型设计。 该项目提供了一个翻译层,增加了对模式匹配、契约和字符串插值的支持。它包括一个用于编译时反射和使用专门元函数进行自动化代码生成的元编程工具。 该系统自动化了多项开发任务,包括通过自动前向声明解决依赖顺序,以及管理参数传递模式。它还应用静态分析来插入自动边界检查,并通过在变量最后一次使用点应用移动语义来优化资源管理。 该工具包括一个验证机制,以确保标准源代码在翻译过程中保持不变,从而防止语法回归。
Automatically inserts bounds checking and move semantics based on static analysis of container sizes and variable lifetimes.
Amber 是一个将高级源代码转换为 Bash、Zsh 和 Ksh 可执行 Shell 脚本的转译器。它为 Shell 脚本生成提供了一个类型安全的环境,允许进行静态类型验证并创建独立的可执行脚本。 该项目通过包含 Tree-shaking 导入优化的编译过程来减小输出体积,并使用基于模板的脚本包装来添加自定义页眉和页脚。它利用基于模块的依赖解析系统,通过可见性控制来管理跨多个文件的代码复用。 该语言涵盖了广泛的自动化能力,包括全面的文件系统管理、进程控制以及通过 HTTP 进行的网络通信。它提供了用于文本处理、数据操作、日期时间管理和系统内省的内置工具。 该工具集包含一个用于逻辑验证的集成测试运行器,以及一个从源代码注释自动生成 Markdown 项目文档的工具。
Performs static analysis of control flow to identify unused declarations and constants.