Open Source Code Analysis Tools
Discover 27 open source Code Analysis repositories from GitHub, each with an analysis of what it does, key features, use cases and alternatives. Code Analysis projects here are most often combined with Developer Tools, CLI and Python. Last updated October 4, 2026.
27 repositories · updated October 4, 2026

graphify: Turn Codebases into Queryable Knowledge Graphs
Graphify builds a queryable knowledge graph from code, documentation, schemas, and other project files. It helps developers and AI coding assistants explore relationships, trace paths, and understand codebases without relying on a vector store.

pytype: Analyze Python Types Statically
pytype is a static type analyzer for Python that uses type inference alongside annotations to find type problems without running code. Its final supported Python version is 3.12, so it is best suited to existing projects that target that version.

tsgolint: Lint TypeScript and JavaScript in Go
tsgolint is an experimental Go linter that uses typescript-go for type-aware JavaScript and TypeScript rules. It explores faster typed linting, but is an early-stage prototype and is not production-ready or actively developed.

obfuscator-io-deobfuscator: Make Obfuscated JavaScript Easier to Read
A TypeScript tool that reverses several common transformations used by Obfuscator.io, making scripts easier to inspect. Use it from a browser or CLI when analyzing code, with processing designed not to execute the input script.

tach: Enforce Python Module Dependencies
Tach helps Python teams define and enforce module boundaries, so imports follow declared dependencies and public interfaces. Use it to detect dependency cycles, inspect architecture, and adopt modular rules incrementally.

mypy: Check Python Types Without Running Your Code
mypy is a static type checker that finds type-related issues in Python code before it runs. Add type hints incrementally, then use mypy locally or in a development workflow to catch mistakes and make code easier to maintain.

difftastic: Compare Code by Its Syntax
Difftastic is a structural diff tool that compares source files according to their syntax instead of only comparing lines. It helps developers review code changes across formatting shifts, with line-based fallback when parsing fails.

wake: Test and Analyze Solidity Smart Contracts
Wake is a Python-based framework for testing, fuzzing, and static analysis of Solidity smart contracts. It suits Solidity developers and security teams that want automated checks, custom detectors, and IDE support in one tool.

awesome-eslint: Find ESLint Configs, Plugins, and Tools
A curated directory of ESLint configurations, plugins, parsers, formatters, and related tools. Use it to discover options for a language, framework, workflow, or linting need before choosing what to add to a project.

YouCompleteMe: Add Smart Code Completion to Vim
YouCompleteMe is a Vim completion and code-understanding engine that combines fuzzy identifier search with semantic language tools. It suits Vim users who want IDE-like navigation, diagnostics, and refactoring without leaving their editor.

pyre-check: Check Python Types and Find Data Flows
Pyre is an incremental, performant type checker for Python, with Pysa for security-focused data-flow analysis. The repository is archived: type checking has moved to Pyrefly, and Pysa is maintained in a separate repository.

FuncVul: Detect Vulnerabilities in Code Functions
FuncVul is a research model for detecting vulnerable code chunks within C/C++ and Python functions. It uses fine-tuned GraphCodeBERT and provides six labeled datasets for evaluating function-level vulnerability detection.