awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

15 个仓库

Awesome GitHub RepositoriesSource Code Analysis Tools

Tools that convert source code into structured representations to analyze patterns, constraints, or logic.

Distinct from Source Code Analysis: Shortlist candidates focus on vulnerability scanning, educational exercises, or web code, rather than general language syntax analysis.

Explore 15 awesome GitHub repositories matching programming languages & runtimes · Source Code Analysis Tools. Refine with filters or upvote what's useful.

Awesome Source Code Analysis Tools GitHub Repositories

用 AI 发现最棒的仓库。我们将通过 AI 为您搜索最匹配的仓库。
  • github/semanticgithub 的头像

    github/semantic

    9,041在 GitHub 上查看↗

    Semantic 是一个基于 Haskell 的库和命令行工具,专为多语言源代码分析而设计。它作为一个静态程序分析框架和多语言抽象语法树解析器,能够根据语法定义将多种编程语言转换为结构化的语法树。 该系统通过一个语义代码比较引擎脱颖而出,该引擎检测代码版本之间的结构和意义变化,而不是依赖文本差异。它进一步通过将表面语言转换为统一的多语言中间表示,实现了跨不同编程语法的分析。 该框架为解析 Rust、Go、Python、Ruby、PHP、TypeScript 和 TSX 等语言提供了广泛的功能。它涵盖了通过代码作用域映射、符号提取和语义图生成的语义分析,以及用于模式分析和程序行为评估的工具。 该工具集还包括用于标准化 Haskell 源代码文件布局的命令行实用程序。

    Parses multiple programming languages into a unified format to analyze semantics and behavior across different files.

    Haskell
    在 GitHub 上查看↗9,041
  • sebastianbergmann/code-unit-reverse-lookupsebastianbergmann 的头像

    sebastianbergmann/code-unit-reverse-lookup

    6,690在 GitHub 上查看↗

    This project is a static code analysis tool that functions as a code unit resolver and source code line mapper. It identifies the specific function or method that contains a given line of code by analyzing the structure of source files without executing the program. The utility maps line numbers to their parent code units by examining the organization of source files and identifying the ownership of specific lines. It determines the boundaries of functions and methods through text-based structural parsing and range detection. These capabilities support source code analysis and static analysi

    Analyzes the structure of source files to identify which function or method contains a specific line of code.

    PHP
    在 GitHub 上查看↗6,690
  • trekhleb/state-of-the-art-shitcodetrekhleb 的头像

    trekhleb/state-of-the-art-shitcode

    6,183在 GitHub 上查看↗

    该项目是一个讽刺性的编程指南和代码质量戏仿作品,作为软件反模式的目录。它提供了一系列故意编写的糟糕编码原则,旨在展示与整洁代码和行业最佳实践相反的内容。 通过实施一系列有缺陷的设计选择和糟糕的编码习惯,该项目识别了软件架构中的常见错误。它使用这些讽刺性的示例来突出导致维护问题和系统不稳定的技术债务和脆弱的代码结构。 该项目涵盖了包括代码质量分析和软件架构教育在内的领域,将讽刺原则映射到现实世界的架构缺陷中。

    Includes methods for scanning source code to detect structural flaws aligned with poor design signatures.

    best-practicebest-practicescode-quality
    在 GitHub 上查看↗6,183
  • danger/danger-jsdanger 的头像

    danger/danger-js

    5,480在 GitHub 上查看↗

    danger-js 是一个自动化代码审查工具和 CI 流水线插件,充当拉取请求(PR)检查器。它通过直接在版本控制界面发布自动化反馈和评论,来验证提交信息、跟踪依赖变更并确保拉取请求符合项目标准。 该系统与 GitHub、GitLab 和 BitBucket 等多种 Git 提供商集成,以检索拉取请求元数据并执行自定义审查规则。它允许团队将审查规范打包并分发为可共享的模块,并支持通过运行时配置执行以转译语言编写的规则。 该项目涵盖了广泛的自动化功能,包括代码质量治理、依赖管理审计以及拉取请求礼仪的强制执行。它可以解析来自外部检查器、测试运行器和覆盖率工具的结果,以报告失败、监控包大小并检测代码库中的反模式或违禁词。 该工具可作为持续集成流水线中的构建步骤执行,或通过 git-hooks 在本地运行。

    Scans code changes for problematic patterns or structural flaws and triggers warnings.

    TypeScriptcicirclecode-review
    在 GitHub 上查看↗5,480
  • tingsongyu/pytorch-tutorial-2ndTingsongYu 的头像

    TingsongYu/PyTorch-Tutorial-2nd

    4,555在 GitHub 上查看↗

    这是一个关于使用 PyTorch 构建神经网络的综合教学资源和课程。它涵盖了深度学习的基本构建块,包括张量操作、自动微分以及模块化神经网络组件的构建。 该仓库是多个专业领域的参考指南。它提供了计算机视觉任务(如图像分类、目标检测和语义分割)的实现细节,以及涉及 Transformer、循环网络和生成模型的自然语言处理工作流。此外,它还包括生成式 AI 的参考资料,专门关注通过扩散模型和对抗网络进行图像合成。 材料延伸至模型优化和部署流水线。它涵盖了通过量化和将模型导出为 ONNX 和 TensorRT 等格式来减小模型大小并提高推理速度的技术。其他能力领域包括用于并行加载的数据工程、使用自定义指标的模型评估,以及开源大语言模型的部署。 该项目主要以一系列 Jupyter Notebook 的形式提供。

    Uses large language models to analyze source code for the purpose of creating performance optimization tools.

    Jupyter Notebookcomputer-visiondeepsortdiffusion-models
    在 GitHub 上查看↗4,555
  • phpdocumentor/phpdocumentorphpDocumentor 的头像

    phpDocumentor/phpDocumentor

    4,332在 GitHub 上查看↗

    phpDocumentor 是一个 PHP API 文档生成器和源代码分析器,将 PHP 文件和 DocBlocks 转换为结构化的 HTML API 参考。它作为一个静态站点生成器和自动化文档工具,旨在使技术文档与代码变更保持同步。 该项目的独特之处在于它充当 UML 图生成器,基于源代码分析通过 PlantUML 生成类图和架构图。它还支持技术手册编写,在自动生成的 API 参考旁边渲染手写的 Markdown 和 ReStructuredText 指南。 该工具提供了广泛的源代码分析能力,包括抽象语法树的生成、元数据标记以及文档继承的管理。它包括用于代码架构、元素可见性控制和版本化文档管理的可视化工具。 构建可以通过 XML 配置文件进行管理,以在持续集成管道中实现自动化生成。

    Analyzes source code files to transform them into structured intermediate representations for processing.

    PHPdocblockdocblocksgraphviz
    在 GitHub 上查看↗4,332
  • tomaz/appledoctomaz 的头像

    tomaz/appledoc

    4,189在 GitHub 上查看↗

    Appledoc 是一个 Objective-C 文档生成器和静态网站生成器,可解析源代码注释以创建结构化的 HTML 文档集。其主要目的是生成符合官方 Apple 风格文档的专业开发者参考指南。 该工具通过自动化的构建阶段脚本直接集成到项目编译过程中,确保技术指南随代码变更而更新。它通过外部 HTML 和 CSS 模板以及用于管理全局设置和动态运行时路径解析的属性列表配置系统,提供了广泛的定制能力。 该项目涵盖了广泛的功能,包括用于提取 API 成员签名并将方法组织成结构化部分的源代码分析。它具有类和协议之间的自动交叉引用、将外部静态内容或 Markdown 导入主索引的能力,以及专门为集成开发环境生成索引文档集的功能。 该系统还包括用于通过归档文件发布文档版本和更新 Atom 订阅源的实用程序,以及用于验证配置设置最终解析状态的调试工具。

    Parses specially formatted comments and method signatures in source code to automatically create structured API references.

    Objective-C
    在 GitHub 上查看↗4,189
  • oclint/oclintoclint 的头像

    oclint/oclint

    3,881在 GitHub 上查看↗

    Oclint is a static analysis engine and extensible linting framework designed for C, C++, and Objective-C source code. It functions as a code quality tool that identifies bugs, code smells, and structural complexities by parsing source code into abstract syntax trees to perform semantic inspection. The project is distinguished by its modular architecture, which supports dynamic plugin loading for custom inspection rules and a pluggable reporter system for exporting analysis findings in multiple formats. It replicates build configurations by reading compiler flags and include paths to ensure th

    Inspects source code to identify potential bugs, code smells, and structural complexities.

    C++
    在 GitHub 上查看↗3,881
  • reactjs/react-docgenreactjs 的头像

    reactjs/react-docgen

    3,822在 GitHub 上查看↗

    react-docgen is a static analysis library and automated documentation tool designed to extract structured metadata from React component definitions. It functions as an AST-based code parser that transforms source code into machine-readable formats, enabling the programmatic generation of technical documentation and developer portals. The tool identifies component names, descriptions, and methods by analyzing source code without executing it. It specifically extracts detailed property information, including type definitions, default values, and human-readable descriptions derived from docblock

    Analyzes source code to create structured representations of component states using static analysis.

    TypeScriptdocgendocumentationjson
    在 GitHub 上查看↗3,822
  • apple/swift-syntaxapple 的头像

    apple/swift-syntax

    3,671在 GitHub 上查看↗

    swift-syntax is a library for parsing, manipulating, and generating Swift source code. It provides a source-accurate abstract syntax tree representation of Swift code, acting as a parser, transformer, and code generator. The project serves as the infrastructure for Swift macro development, enabling the expansion and transformation of source code during compilation. It is used to build compiler tooling for static analysis, formatting, and automated refactoring. The system covers a broad range of source analysis capabilities, including the ability to convert source code into structured trees f

    Provides a comprehensive parser to convert Swift source code into structured trees for programmatic analysis.

    Swift
    在 GitHub 上查看↗3,671
  • openrewrite/rewriteopenrewrite 的头像

    openrewrite/rewrite

    3,312在 GitHub 上查看↗

    OpenRewrite is an automated refactoring engine and source-to-source migration framework. It uses a lossless semantic tree parser to represent source code as type-aware trees that preserve original whitespace and formatting, enabling precise and deterministic modifications. The project utilizes a declarative refactoring pipeline where sequences of transformations are defined in YAML to resolve breaking changes and technical debt. It features type-aware pattern matching and cross-language model mapping to apply similar refactoring patterns across different programming languages. The framework

    Converts source code into structured representations to collect metadata across all source files for targeted changes.

    Javaabstract-syntax-treeastcode-search
    在 GitHub 上查看↗3,312
  • dtolnay/syndtolnay 的头像

    dtolnay/syn

    3,292在 GitHub 上查看↗

    syn is a Rust syntax tree parser and token stream converter. It serves as a toolkit for procedural macro development, providing a framework to parse Rust source code into structured syntax trees for analysis and transformation. The project enables the manipulation of Rust abstract syntax trees through specialized visitor and folder patterns for traversing and mutating nodes. It provides a bidirectional mapping that allows developers to convert token streams into structured trees and print those trees back into tokens for code generation. The library covers a broad range of syntax analysis ca

    Converts Rust tokens into searchable tree representations to analyze code patterns and enforce architectural constraints.

    Rustproc-macro
    在 GitHub 上查看↗3,292
  • nvim-treesitter/nvim-treesitter-contextnvim-treesitter 的头像

    nvim-treesitter/nvim-treesitter-context

    3,120在 GitHub 上查看↗

    nvim-treesitter-context is a Neovim editor extension that provides structural awareness of source files by displaying sticky headers of surrounding code blocks. It utilizes Tree-sitter queries to identify parent functions and classes, keeping them visible at the top of the editor window while scrolling. The tool allows for language rule customization, enabling the definition of specific structural queries to modify how context is detected for different programming languages. Users can also adjust the visual appearance of the context window through custom highlight groups. Beyond visual orien

    Analyzes the source code structure to enable jumping between a line of code and its parent definition.

    Janetneovimneovim-pluginvim
    在 GitHub 上查看↗3,120
  • habrador/unity-programming-patternsHabrador 的头像

    Habrador/Unity-Programming-Patterns

    2,091在 GitHub 上查看↗

    该项目作为在 Unity 引擎中使用 C# 实现既定软件设计模式的综合库和架构指南。它提供了一种组织游戏逻辑的结构化方法,专注于通过经过验证的结构化解决方案提高代码的可维护性、可扩展性和长期项目健康度。 该集合通过提供解耦游戏系统(如事件分发和请求处理)的架构模式的实际实现而脱颖而出,同时提供识别和纠正常见编码反模式的工具。它进一步通过提供通过状态机管理复杂实体行为以及通过内存池和数据同步技术优化系统资源的策略,解决了技术挑战。 除了其核心架构模式外,该仓库还涵盖了广泛的能力,包括用于安全用户修改的沙箱脚本执行,以及在基于帧的更新中保持一致状态的方法。该资源旨在通过用模块化的组件组合替换无效实践来协助开发者优化其代码库。

    Provides tools to identify and rectify common coding anti-patterns to improve overall codebase quality.

    C#architecturecommand-patterncomputer-science
    在 GitHub 上查看↗2,091
  • felixfbecker/php-language-serverfelixfbecker 的头像

    felixfbecker/php-language-server

    1,193在 GitHub 上查看↗

    This project is a backend service that implements the Language Server Protocol to provide IDE-integrated intelligence for PHP development. It functions as a static analysis tool that parses source code to enable advanced editor features, including autocompletion, symbol navigation, and definition resolution. The server distinguishes itself through its ability to operate within isolated containers and remote development environments. By utilizing a virtual file system abstraction and flexible communication protocols, it maintains project-wide symbol indexing and code analysis even when files a

    Analyzes source code to power essential IDE features like jump-to-definition and symbol navigation.

    PHPautocompletecode-analysiside
    在 GitHub 上查看↗1,193
  1. Home
  2. Programming Languages & Runtimes
  3. Source Code Analysis Tools

探索子标签

  • Anti-Pattern DetectionTools and techniques for identifying structural flaws and low-quality design signatures in source code. **Distinct from Source Code Analysis Tools:** Focuses on detecting negative patterns and flaws, whereas Source Code Analysis Tools is more general syntax or logic analysis.
  • LLM-Based Code OptimizationUsing large language models to analyze source code for the purpose of creating performance optimization tools. **Distinct from Source Code Analysis Tools:** Distinct from Source Code Analysis Tools: specifically applies LLMs to generate optimization improvements rather than just structural analysis.
  • Polyglot AnalyzersAnalysis tools capable of processing multiple programming languages into a unified structured format. **Distinct from Source Code Analysis Tools:** Emphasizes the cross-language polyglot capability over single-language analysis
  • Protobuf Datatype GeneratorsGeneration of structured data types from protobuf schemas for representing source code. **Distinct from Source Code Analysis Tools:** Specifically focuses on generating types from protobuf schemas for analysis representation
  • Structural Boundary AnalysisAnalyzing source file structure specifically to identify function and method boundaries. **Distinct from Source Code Analysis Tools:** Focuses on identifying block boundaries rather than general AST conversion or security analysis.