cripto-bot/graphlang

GitHub: cripto-bot/graphlang

GraphLang 将 13 种编程语言的源代码转换为统一的语义中间表示(IR),使不同语言中具有相同计算意图的代码拥有相同的图结构,从而实现跨语言的代码等价性发现与高压缩率归一化。

Stars: 0 | Forks: 0

# GraphLang — 具有 29.8 倍跨语言压缩率的语义 IR [![License: BSL](https://img.shields.io/badge/License-BSL-blue.svg)](https://mariadb.com/bsl11/) [![Python](https://img.shields.io/badge/Python-3.12-blue.svg)](https://python.org) [![Cross-Language](https://img.shields.io/badge/cross--language-97%25-brightgreen.svg)]() [![Compression](https://img.shields.io/badge/compression-29.8x-orange.svg)]() [![Archived](https://img.shields.io/badge/Software_Heritage-archived-blue.svg)](https://archive.softwareheritage.org/) **一种通用的代码语义中间表示。** GraphLang 将 13 种编程语言转换为归一化的图, 其中**相同的意图 = 相同的结构**。这不是一种新语言 —— 而是一种语义 IR, 能够发现传统 AST 分析无法察觉的等价性。 ## 📊 关键指标 | 指标 | 数值 | 含义 | |--------|-------|---------------| | **压缩率(多语言)** | **29.8x** (97%) | 跨 13 种语言:320M 个节点 → 10.8M 个唯一节点 | | **压缩率(单语言)** | **22.5x** (96%) | 跨 3 种语言:434M 个节点 → 19.3M 个唯一节点 | | **跨语言等价率** | **97%** 平均值 | 相同意图 = 相同的 IR 结构 | | **覆盖语言数** | **13** (11 种达到 100%) | Python, Java, JS, TS, C#, Rust, Go, Kotlin, Ruby, PHP, Zig, C, C++ | | **CST → IR 缩减率** | **~2,215 → 12** | 所有语言平均覆盖率达 97% | ## 🎯 GraphLang 证明了什么 ``` Python: add(a,b): return a+b ─┐ Java: int add(int a,int b){return ─┤ → SAME GraphLang IR a+b;} ─┘ (identical structure) Zig: fn add(a:i32,b:i32)i32{ return a+b;} ─┘ ``` 传统的 AST 分析会将它们视为完全不同。 而 GraphLang 能在 13 种语言中看到相同的底层计算意图。 ## 🏗️ 架构 GraphLang 定义了 **12 种通用 IR 类型**,它们是 通过对 13 种编程语言中约 2,215 种具体语法树(CST)节点类型进行系统分析而得出的。 ### 12 种 IR 类型(已冻结) | # | 类型 | 语义含义 | |---|------|-----------------| | 1 | `function` | 带参数的可执行单元 | | 2 | `if` | 条件分支 | | 3 | `for` | 有界迭代 | | 4 | `while` | 无界迭代 | | 5 | `return` | 值返回 | | 6 | `assign` | 变量绑定 | | 7 | `call` | 调用 | | 8 | `binop` | 二元或比较运算 | | 9 | `unary` | 一元运算 | | 10 | `var` | 变量引用 | | 11 | `const` | 字面常量 | | 12 | `block` | 语句序列 | ### 语言覆盖率 | 语言 | CST 类型 | 核心 IR | 状态 | |----------|-----------|---------|--------| | Python | 238 | 100% | 生产级 | | Java | 296 | 100% | 生产级 | | JavaScript | 242 | 100% | 生产级 | | TypeScript | ~250 | 100% | 生产级 | | C# | ~220 | 100% | 生产级 | | Rust | 290 | 100% | 生产级 | | Go | 199 | 100% | 生产级 | | Kotlin | ~200 | 100% | 生产级 | | Ruby | ~180 | 100% | 生产级 | | PHP | ~190 | 100% | 生产级 | | Zig | ~150 | 100% | 生产级 | | C | ~180 | 93% | 稳定版 | | C++ | ~300 | 93% | 稳定版 | ## 📈 基准测试 ### 单语言(Python / Java / JavaScript) | 函数数 | 节点总数 | 唯一节点数 | 比率 | 耗时 | |-----------|-------------|--------|-------|------| | 1,500 | 33,387 | 1,197 | 27.9x | 1s | | 10,000 | 216,883 | 9,770 | 22.2x | 3s | | 100,000 | 2,172,203 | 96,504 | 22.5x | 40s | | 1,000,000 | 21,701,749 | 965,037 | 22.5x | 20s | | 10,000,000 | 217,210,967 | 9,649,257 | 22.5x | 203s | | 20,000,000 | 434,035,010 | 19,298,367 | 22.5x | 410s | ### 多语言(13 种语言) | 函数数 | 节点总数 | 唯一节点数 | 比率 | 耗时 | |-----------|-------------|--------|-------|------| | 1,040 | 19,360 | 705 | 27.5x | 0.3s | | 1,014,000 | 16,025,625 | 538,561 | 29.8x | 26s | | 20,046,000 | 320,512,500 | 10,769,320 | 29.8x | 290s | **压缩率收敛于一个常数**:从 10 万个函数开始,单语言为 22.5 倍,多语言为 29.8 倍。 这不是数据集产生的假象 —— 这是对人类编写的代码所具有的一项底层属性的测量结果。 ## 📂 公共仓库结构 ``` graphlang/ ├── core.py # IR engine: Node, Graph, merge O(N) ├── normalizer.py # Legacy normalizer ├── adapter.py # Legacy CST → IR adapter ├── parallel_ir.py # GPU/HPC extension (CUDA, OpenCL, Metal) ├── SPEC.md # Formal IR specification (FROZEN) ├── TECHNICAL.md # Technical whitepaper ├── IP.md # Prior art declaration ├── paper/ # Academic paper (ArXiv-ready) ├── legal/ # US legal framework + checklist ├── marketing/ # LinkedIn profile + launch posts ├── LICENSE # BSL 1.1 (converts to MIT July 28, 2046) ├── CONTACT.md # Commercial licensing tiers ├── ENTERPRISE.md # Enterprise pricing └── README.md ``` ## 📚 引用 ``` @software{GraphLang2026, author = {Josué Argaña Silguero}, title = {GraphLang: A Universal Semantic Kernel for Code — 29.8x Cross-Language Compression Across 13 Languages}, year = {2026}, url = {https://github.com/cripto-bot/graphlang} } ``` ## 📄 许可证 **Business Source License 1.1** — 可免费用于研究、个人和非商业用途。 将于 **2046 年 7 月 28 日** 转换为 MIT 许可证。 - **非商业及研究用途**:✅ 免费。可随意使用、修改并发表论文。 - **AI/ML 训练用途**:❌ 需要商业许可。 - **生产/商业用途**:❌ 需要商业许可。 **完整基准测试数据集**(2000 万个对齐的函数对)可通过 NDA 向 合格的企业提供。请联系 **josu31.jas@gmail.com** 获取访问权限。 如需商业许可、数据集访问或企业支持: → 请参阅 [CONTACT.md](CONTACT.md) 或 [ENTERPRISE.md](ENTERPRISE.md) *"我们没有发明一种新语言。我们发现,所有语言其实一直在说着同一种话。"*
标签:Python, Vectored Exception Handling, Veh, 中间表示, 代码分析, 凭证管理, 无后门, 编译原理, 跨语言, 逆向工具