F00-F274New_Implementation_Archive.mdConfiguration.txtDevelopment_History_Traceability.md当前项目已经不再只是“给 SymCC 加一个 MPI master”。它形成了七个彼此连接的 研究层:
最重要的系统不变量是:
输入 proposal 不能绕过完整当前约束验证和真实目标程序重放;编译变换不能绕过 proof gate 与未变换基线 replay;进入普通 corpus 的候选最终必须通过全局 AFL edge novelty 仲裁。
这使项目可以激进地引入新技术,同时把不完备方法隔离在正确性可信边界之外。
| 术语 | 本文中的含义 |
|---|---|
| concolic / DSE | 用一次真实执行收集符号表达式,再求解相反分支约束的动态符号执行 |
| prefix | 到当前目标分支之前已经走过的路径约束序列 |
| candidate / proposal | 求解器或启发式方法生成的候选输入;尚未因此获得接纳资格 |
| replay | 用候选重新运行 evaluator、未变换基线目标或 AFL-instrumented target |
| Query IR | 与具体 solver 解耦、可持久化并内容寻址的查询表示 |
| ITE | if-then-else
表达式,用一个值表达多条控制流路径的合并结果 |
| QF_BV | 无量词位向量逻辑,SymCC 整数路径约束的主要 SMT 子域 |
| CAS | content-addressed storage,以内容摘要而不是可变文件名寻址对象 |
| ECT | Expressive Coverage Tree,保存路径/上下文/结构新颖度的树 |
| SPPF / PCFG | 共享打包解析森林 / 概率上下文无关文法 |
| DPOR | Dynamic Partial-Order Reduction,用依赖关系减少等价线程调度 |
| SC / TSO / RA | 顺序一致、总存储序和 release-acquire 内存模型 |
| I2S / JIGSAW | input-to-state 直接反演 / JIT 梯度约束搜索;由 SymSan RGD 栈编排 |
| seal | 绑定输入、工具、配置和产物摘要的本地证据封装,不是数字签名 |
项目文档使用两类标记,不能把它们读成一条线性的成熟度阶梯:
| 等级 | 含义 | 可以说什么 | 不能说什么 |
|---|---|---|---|
| I | 已接入真实代码路径 | “已经实现并集成” | 不能据此声称性能提升 |
| T | 有单元、LLVM lit 或集成测试 | “已通过功能回归” | 不能代表所有真实程序 |
| B | 有明确环境和预算的本地测量 | “在该配置下测得……” | 不能外推为普遍优势 |
| R | 等 CPU、多轮、置信区间、效应量和消融 | “实验支持该性能结论” | 仍不能超出实验总体外推 |
I/T/B/R 描述证据成熟度;E
是正交的可执行证据属性,表示有 manifest、 seal、独立
replay 或 claim gate 可重算部分结论。一个功能可以是
I/T/E,但并不 因此达到 B 或
R;E
也不是形式化证明、密码学签名或远程证明。
当前多数功能达到 I/T;后期研究路径大量达到 I/T/E;早期并行、公开 benchmark 和 SymSan 路径包含 B 级历史结果。最新全功能组合尚未整体达到 R,所以本文不会把 “机制已实现”写成“系统已在公开 benchmark 上达到 SOTA”。
功能是否存在与是否默认启用是两件事:
| 运行方式 | 实际默认行为 | 需要显式启用的代表能力 |
|---|---|---|
| 单独运行 instrumented target | 普通 SymCC/QSYM concolic;Backsolver 默认可用,但仅对含 ITE 的目标生效;telemetry 文件和 data-coverage telemetry 默认不输出 | SYMCC_TELEMETRY_OUT、SYMCC_DATA_COVERAGE=1、跨前缀
poly reuse、portfolio |
mpi_fuzzing_helper.py |
SYMCC_ADAPTIVE_SCHEDULER=1;worker 自动设置 telemetry
与 SYMCC_DATA_COVERAGE=1;PrefixDAG/ECT/self-config
等自适应组件默认打开;poly cache 可用时 helper 以
setdefault 打开跨前缀、投影和字段重命名 |
可以逐项设 0 做消融;async query workers、外部 solver
portfolio 仍需配置 |
| AFL 原生 data coverage | 只有将 libafl_data_coverage_rt.so 通过
AFL_PRELOAD/LD_PRELOAD 注入 AFL target
时,comparison progress 才写入 AFL 共享 map |
preload 路径及 AFL_DATA_COVERAGE;它与
SYMCC_DATA_COVERAGE telemetry 不是同一开关 |
| 编译期研究变换 | pass 会注册,但 IFSS/Hydra/UCSan 的变换开关默认关闭 | SYMCC_IFSS_*、SYMCC_HYDRA、SYMCC_UCSAN_ENTRY
等必须在编译目标时设置 |
| 状态/调度/语法研究路径 | 普通 seed 闭环不自动启动 live continuation、DPOR、native parser campaign 或独立 evidence campaign | SYMCC_LIVE_*、SYMCC_DPOR、parser/PCFG、query
portfolio 和 seal/replay 配置 |
因此“项目实现了 275 个功能 ID”不表示一次 campaign 会同时执行 275 条路径。 超预算、证据不完整、语义不支持或验证失败时,功能应 fail closed 或退回受支持的 精确路径,而不是静默近似程序语义。
Configuration.txt 当前记录 373 个唯一
SYMCC_* 配置名。本文只解释配置族, 具体默认值、上限和产物
schema 以该文件为准。
“借鉴某论文”不等于“复现该论文”。下表明确区分原始思想和本项目实际落地:
| 来源 | 对应实现 | 本项目采用的核心思想 | 没有冒充的部分 |
|---|---|---|---|
| QSYM | 上游 QSYM backend;F00/F01/F03 的部分集成基础 | native execution、轻量表达式、混合 fuzzing | F02 Backsolver、F04 data coverage 等扩展不是 QSYM 原功能 |
| S2F | F05 | PrefixDAG、high/low queue、困难分支 sampling | 不是论文完整系统与实验复现 |
| TACO-Fuzz / MultiGo | F05 的目标调度;F06 提供部分静态基础 | target-centric、路径多样性、Poisson 难度 | 仅实现可审计的有界调度子集 |
| CoFuzz | F08/F15 的在线收益与离线观测;F17-F22 提供协调基础 | 联合观察调度、同步和后续 coverage yield | 当前策略不是 CoFuzz 边级回归的忠实复现 |
| Pangolin | F03、F176-F185 | polyhedral context、增量复用、多解采样 | 新增跨前缀/跨布局路径也不传播 UNSAT |
| GenSlv | F29、F177-F178、F181 | reusable generator、range sampler、model converter | generator 输出必须经过原查询复核 |
| PSCache | F32、F35、F236 | conflict-derived partial assignment 与相关查询复用 | 未宣称实现论文全部 bit-blast trail 技术 |
| SMTgazer | F09、F239-F243 | censored-cost algorithm sequence 和 SMBO | 不是私有模型/数据集的复刻 |
| SymCC-str | F30、F33、F193-F200 | BV/String 双表示和 libc string artifact | 只覆盖明确列出的 C string/conversion 子域 |
| Lase | F36、F187、F190-F192 及后续 grammar 机制 | 在线 token grammar、结构化输入生成 | parser/PCFG 扩展是本项目有界实现 |
| Cottontail | F07、ECT 与部分 agentic 接口 | context/path-sensitive expressive coverage | 没有把 ECT 写成 Cottontail 完整 LLM solve-complete 复现 |
| Gordian / NeuroSCA | F10 的 proposal/verifier 扩展点 | inverse/exemplar/core proposal 应位于不可信平面 | 未实现论文完整 ghost-code 迭代或训练型神经算术 solver,不计作已实现 backend |
| ParaSuit | F186 | 条件参数图、上下文选择和 transfer prior | 未复刻 KLEE 参数爬取和论文聚类实验 |
| UCSan | F11 | 编译式 under-constrained harness、对象图和 shadow pointer | 结果仍需真实调用环境验证 |
| GenSym | F38、F59、F66、F68-F175 | continuation、状态级并行、持久 store/memory | 只支持保守 LLVM 子集,不是完整 GenSym 编译器 |
| ConDPOR | F39-F58、F61-F65、F221 | 输入与 schedule 联合、po/rf/co、backward revisit | 当前是 bounded exploration,不声称完备证明 |
| Backsolver / IFSS / Hydra | F02、F37、F248-F274 | ITE/state merge、fork elision、failure-preserving transformation | IFSS 是项目内有界实现族;Hydra 变换默认关闭且必须 replay/manifest 验证 |
完整论文链接、论文原始结论和逐项差距见 sota_hybrid_execution_2026.md
与 SOTA_Gap_Audit_2026-07-24.md。
这是当前最成熟的执行主线,单个工作项按以下顺序运行:
假设输入 A0 到达 if (x == 0x42),当前走
false 分支:
x != 0x42 的已走路径与 x == 0x42
的翻转目标;0x42;复杂情况再进入当前 prefix context、Backsolver 或
Z3;B0 先在 worker 内按内容摘要去重,然后由 AFL target
重放得到 [(edge_17, count_1), (edge_31, count_1)];edge_31,master 原子接纳
B0 并广播 coverage delta;若另一 worker
已先声明该边,B0 不进入普通 queue;该路径不是“多启动几个相同进程”,而是把可恢复符号状态作为工作:
Continuation 路径当前覆盖的是明确有界的 LLVM 语义子集,并不是任意 C/C++ 程序 的完整 GenSym 复刻。遇到异常处理、无法证明的别名、超预算 pointer domain、 不支持的 intrinsic 或复杂循环时会保守拒绝 lowering。
项目中“bitmap”不是一个对象的多个名字。混淆它们会直接导致重复求解判断错误。
下表的 B1-B6 是本文和 Architecture_QA3.md
为讲解定义的标签,不是源码类型名。
| 名称 | 生成者 | 主要用途 | 是否拥有最终接纳权 |
|---|---|---|---|
| B1:master AFL coverage | AFL-instrumented target 的 showmap 结果 | 会话级 edge novelty 最终仲裁 | 是 |
| B2:worker local coverage | worker 对候选重放后的稀疏 edge | 本地预过滤、减少 MPI 流量 | 否,需提交 B1 |
| B3:QSYM branch-interest map | symbolic branch site/outcome 哈希 | 判断路径分支是否值得求解 | 否 |
| B4:coverage owner shards | 多 coordinator 的分片持久状态 | 跨 master ownership、claim 与 gossip | 仅在多 master 模式代表全局 claim,受 fencing/owner 规则约束 |
| B5:AFL 原生 data namespace | preload runtime 写入 AFL shared map | 让 AFL 自身把 memcmp 等 prefix progress 当作 map
feature |
注入 AFL target 时由 AFL 与 edge 共同保留;普通 MPI triage 未注入时无此权力 |
| B6:grammar bitmap | parser production/rule ID | 结构化输入新颖度和调度 | 否 |
| 显式键 data novelty set | (object, offset, width, kind) |
scheduler 内按结构键记录 data-progress dominance | 否 |
| 内容摘要 | worker 输入用 128-bit BLAKE2b;持久对象/队列另有 SHA-256 | 实用去重与内容寻址 | 否;摘要碰撞概率极低,但不是数学上的字节等价证明 |
B3 与 B1/B2 使用不同 ID 空间:B3 关注符号分支及其上下文,B1/B2 关注
AFL instrumented binary 的覆盖边。SYMCC_AFL_COVERAGE_MAP 在
worker 中实际指向 131072-byte 的 QSYM qsym_bitmap,不能拿
AFL edge ID 去索引它。B5 是兼容 AFL 的有限
namespace,仍可能发生哈希碰撞;scheduler 的 data tracker 则用显式结构键
记录最佳 matched bits。F247 是独立研究流程:在同一 instrumentation
identity 下 分别用 edge-only 与 edge+data showmap 重放相同
candidate/witness,封存 sparse map、 重复稳定性和 feature
calibration;它不改变普通 MPI queue 的 edge-only 接纳条件。
| 技术族 | 主要功能 ID | 解决的问题 | 主要入口 | 成熟度概览 |
|---|---|---|---|---|
| 基础正确性 | F00、F26 | 位宽、线程局部状态、稳定 ID、cache/replay soundness | compiler/, runtime/src/ |
I/T |
| MPI 与 hybrid 基础 | F17-F25 | 并行吞吐、AFL 协同、引擎抽象、交付 | util/mpi_*, benchmark/ |
I/T/B |
| 遥测与覆盖 | F01、F04、F06-F07、F22、F28、F247 | 看见路径、数据和结构进展并正确判新 | hybrid_feedback.py, coverage runtime |
I/T/E |
| 调度与目标引导 | F05、F08-F10、F14-F16、F186 | 把有限 CPU 分给更有价值的种子和策略 | adaptive/self-config/scheduler | I/T,部分 B/E |
| Query IR 与生成器 | F27、F29、F181 | 持久化查询、重放 converter、批量生成解 | query_store.py, solution_generator.py |
I/T/E |
| 求解复用 | F03、F32、F35、F176-F185、F236、F238 | 减少重复翻译、重复 SAT/UNSAT 和相关查询成本 | QSYM solver、QueryStore | I/T/E |
| Solver portfolio | F02、F31、F34、F177-F178、F188-F189、F237-F246 | 处理长尾、选择算法、控制近似 | query service、QF_BV tools | I/T/E |
| 字符串双表示 | F30、F33、F193-F200 | 把 libc/string 语义接到 BV 和 String solver | wrappers、string tools | I/T/E |
| 语法与解析森林 | F36、F187、F190-F192、F201-F220、F222-F235 | 学习并验证结构化输入、PCFG 和 parser 状态 | semantic/parser modules | I/T/E |
| Under-constrained execution | F11 | 自动构造函数级 harness 与对象图 | compiler/UCSan.*, runtime |
I/T |
| 并发状态空间 | F13、F39-F58、F61-F65、F221 | 联合探索输入、schedule 和 memory model | schedule runtime/exploration | I/T/E |
| Live continuation | F12、F38、F59、F66、F68-F175 | 状态级并行、可恢复内存和 LLVM 语义 | continuation compiler/runtime | I/T/E,有界子集 |
| IFSS/Hydra 变换 | F37、F248-F274 | 减少 fork、恢复多出口/循环/内存状态 | compiler transformation passes | I/T/E,默认关闭 |
| 证据与 benchmark | F16、F21、F25、F60、F67 及各 sealed campaign | 可复现评测、独立复核和克制的科研表述 | benchmark/research tools | I/T/B/E |
技术族是多对多视图,同一 ID 可以同时服务调度、solver 和 evidence。第 24 节为避免 重复只给每个 ID 分配一个“主层”;表中范围重叠不表示重复实现。
下面按执行链解释每个技术族。
F00 修复并扩展了符号表达式的基础语义:
inttoptr、ptrtoint 按 LLVM
DataLayout 做扩展或截断,而不是假定 64 位;thread_local,避免多线程目标互相污染;F26 是一次跨层 correctness hardening:
这些工作不直接增加覆盖率,却决定所有后续优化是否有可信基础。尤其是“把位向量 当整数”和“跨前缀复用 UNSAT”都可能产生静默漏解,因此项目只允许经过证明的 线性子域,并禁止跨前缀传播 UNSAT。
F17 建立 master/worker 协议:worker 声明就绪,master 分发内容寻址的种子与策略, worker 返回稀疏覆盖和小型 telemetry。协议包含原子文件、非阻塞消息资源回收、 终止握手、超时区分和大规模多 coordinator 路径。
F18 把 AFL queue 增量送入 SymCC,把经过真实 showmap 判新的候选送回 AFL。关键优化 包括 worker-side triage、streaming/batched showmap、增量目录扫描、内容哈希预去重、 coverage delta 和各阶段交错执行。历史固定配置测量曾记录明显的 I/O 与通信下降, 但这些数字是 B 级机制结果,不是跨目标平均加速。
F19 继续解决扩展性:
-np。F20 把 LAF、CTX/NGRAM、CmpLog、MOpt、GRIMOIRE 和 honggfuzz
作为互补候选来源; F23 用 ConcolicEngine 契约统一 SymCC 与
SymSan;F24 把选择性符号化、dictionary、 multi-field hints 和 RGD 的
I2S/JIGSAW/Z3 级联接入 SymSan。所有引擎仍共享 coverage
triage、调度和冗余统计,避免评测逻辑因 backend 不同而漂移。
F25 提供可重复安装、离线 bundle、相对 RPATH 和 bare-machine/debootstrap 验证。 它解决“代码能跑”和“别人能重建同一实验环境”之间的工程缺口。
F01 把每次执行归一为 engine-neutral telemetry:
这使 scheduler 能同时比较 SymCC、SymSan、exact、sampling 和 semantic proposal, 又不会依赖某个求解器的进程内对象。
F04/F28 将“距离常量还有多远”变成独立反馈:
memcmp/bcmp/strcmp/strncmp 记录有界字节区域进展;PT_LOAD 可在启动时注册;(object_id, byte_offset, width, kind)。显式结构键 novelty set 负责逐 feature 的精确 dominance;有限的 AFL data namespace 负责与 AFL 生态兼容。只有 matched bits 严格提升时才替换 scheduler 中的 feature winner,而且该 tracker 不会删除 AFL 自有 queue 文件。
F06 组合 directed coloration、静态依赖、并发提示和结构任务图:
F07 用 Expressive Coverage Tree 表示 observed/open outcome、上下文、重复形状和结构 稀有度;Empc 风格 multiple minimum path cover 先折叠 loop SCC,再用不同 maximum matching 产生多组路径覆盖,并依据真实 trace 缩小 seed 的活动 cover。目标不可行时 退回 predecessor/dependence,而不是持续选择同一条最短路径。
F22 把总耗时拆为取任务、concolic、扫描、去重、showmap、发送等 phase,并建立 redundancy funnel:同 worker 重复、跨 item 重复、跨 worker 重复、coverage 已见和 最终 accepted。没有这些字段,学习型 scheduler 很容易把 I/O 拥塞误认为求解无效。
F05 用 PrefixDAG 保存跨 seed 的路径前缀,而不是把一次 execution 当作孤立事件:
F08 把选择扩展到 seed、worker、executor、strategy 和 parameter;F09 学习 SMT algorithm sequence;F10 提供确定性的 semantic fallback、内置 route、异步 provider 接口和 verifier-gated proposal。当前仓库实现的是 inverse/exemplar/token/ object-partition 等有界数据候选,不包含 Gordian 完整 ghost-code 编译迭代,也没有 把 NeuroSCA 训练模型作为 solver backend。所有外部输出都经过 schema 检查、 Query IR 或 concrete evaluator 验证和目标重放。
具体调度器不是单一 bandit:
F14 将上述能力组织成 xFUZZ/KRAKEN 风格 AFL profile,组合
LAF/CompCov、CTX、 Ngram、CmpLog、MOpt 和 power schedule;F15 保存
propensity、并行干扰和离线 trajectory,用 clipped IPS、SNIPS、doubly
robust、ESS 和 lower confidence bound 做保守 off-policy 评估。F186 又将
ParaSuit 式参数空间升级为带 active_when 依赖的机器
schema、上下文后验和只读 transfer prior。失活参数不会被错误归因, exact
profile 也会显式下发关闭近似路径的 hard guard。
这里的“学习”是资源分配,不是把神经网络放进 correctness oracle。预测错误最多浪费 预算,不能让非法候选进入 corpus。
直接保存一段 solver 日志很难跨进程、跨 backend 或跨实验复用。F27 建立内容寻址、 版本化的 Query IR:
F29 从 Query IR 中提取可逆 equality、模型和 polyhedral domain,生成多个候选; F181 把 converter recipe 持久化并逐步/累积重放。未知 operation、冲突 assignment、 越界 offset 或关闭 full-validation obligation 都会被拒绝。
Query IR 已成为多个技术之间的“公共语言”:Pangolin reuse、PSCache、string solver、 grammar hole、schedule joint solving、QF_BV portfolio 和研究证据都可以引用同一查询 身份,而不是各自发明不可比较的日志格式。
F03 在 QSYM 内保存:
同一完整 key 下可重放 SAT model、跳过已知 UNSAT、从 polytope 采样或复用 assertion vector。UNSAT core 只有在当前约束包含被证明的 core 时才能使用。
F176-F185 将复用扩展为一条逐步加固的链:
[0,255] 区间消元,得到保守投影
envelope;采样器可构造完整 A x <= b,使用 John/Dikin/coordinate
walk;每个取整后的 byte assignment
都重新检查整数约束。奇异、边界或超维情况退回 hit-and-run/coordinate
或普通 Z3。
不能跨前缀复用 UNSAT。 即使两个线性抽象看起来等价,未抽象的非线性、数组、 字符串或控制依赖也可能不同。跨前缀路径只把外来 SAT model 当 proposal。
一次目标翻转并不总是直接调用完整 Z3。下面是理解成本层次的概念顺序,实际代码会 根据 executor profile、query shape、cache 命中和异步 ownership 跳过、交换或并发 执行其中若干层:
QSYM 主路径的关键次序更具体:fast solve
成功会直接返回;否则默认先做带完整 prefix 的 strict solve。strict
UNSAT/unknown 后,普通目标可尝试只保留目标的 optimistic solve;含 ITE
的目标进入 Backsolver,后者才可能选择性丢弃与 ITE controller 依赖 重叠的
prefix。只有设置 SYMCC_OPTIMISTIC_FIRST=1
才会先解只含翻转目标的 target-only 公式:结果为 SAT 时保存临时 model
并继续 strict solve;结果为 UNSAT
时,目标本身已经不可满足,可以直接结束;结果为 unknown/timeout
时按当前预算停止。 只有后续 strict solve 未得到 SAT 时,先前的
optimistic model 才作为 Backsolver/保存路径的候选,仍不因此取得 corpus
接纳资格。
求解策略没有静态占比。占比由实际 workload 与 profile
决定,应从
solver_queries、fast_solve_count、backsolver_*、cache/poly/generator
hits、 portfolio attempts 和 accepted outputs 等 telemetry 计算;没有
campaign 原始计数时, 不能给出“Z3/乐观/丢前缀各占多少”的百分比。
F02 在 LLVM 中把 canonical select、双前驱 PHI
和有界多臂区域表示为 ITE。 Backsolver 先枚举附近 controller
outcome,直接反演并用 lightweight evaluator 验证;若失败,再尝试删除与
ITE controller 依赖重叠的部分前缀并调用 Z3。
丢弃前缀只发生在明确的 tailored/Backsolver fallback,而不是普通 exact solve。 实现只删除与 ITE controller input dependencies 重叠的 prefix constraints,保留其余 约束并把目标翻转加入 Z3 或直接反演候选。副作用是:
F32/F35/F236 用 solver assignment、assumption conflict 和最小化 UNSAT core 构造 部分输入 assignment。命中时必须:
它不是“看到相同几个字节就复制答案”,也不实现论文中所有 bit-blast trail 技术。
F31/F34 建立异步和并行 portfolio,记录每个 backend 的 SAT/UNSAT、模型验证、 disagreement、child CPU、取消和 timeout。F237-F246 继续加入:
UNSAT 只有在 backend 具备授权证据时才用于剪枝;SAT 必须有可验证模型。训练集、 holdout、solver binary identity、配置和内部 attempt 都绑定进 evidence,防止 post-hoc 选择最好结果。
F177/F178 的乐观 generator 和 Z3 tactic model converter同样遵守“proposal + full validation”:simplify/solve-eqs 可以消掉变量,但必须通过 model converter 恢复 assignment,并对原始完整公式检查。
F30 先从 memcmp/strcmp/strncmp 导出 offset-aware
concrete token 和 patch artifact; F33 加入可执行 string solver 和
MPI/CLI materialization。F193-F200 将其扩展为:
contains/indexof/substr 和 byte predicate
联合求解;strlen/strchr/strstr 的有界 operation artifact;atoi/strtol/strtoul 在明确子域内的 regex、String
integer 和 BV fold 一致编码;strtol/strtoul
结果、ERANGE、base/endptr、位宽和逐十进制 step bound
判断是否落在精确子域;进入 symbolic 路径后把 digit/range/overflow guard
编码为约束,并由 string query evaluator 再复核候选;这是 SymCC-str 思想的保守可执行子集,不是完整 C 字符串库模型。非空
endptr、 base 0/2-36、Unicode、复杂 alias/lifetime、中间
string object 和域外转换会 fail closed 或回退普通 BV 路径。
F36 提供 token grammar proposal;F187 根据 comparison-taint span、分隔符和历史 accepted seed 在线学习稳定 production,并允许有界变长 splice。F190 把 Query IR 中的未约束 input bytes 标记为 grammar hole,候选同时经过 grammar evaluator 和 Query IR evaluator。F191 只在 coverage plateau 后从保留历史中采集结构,F192 用 独立 parser oracle 拒绝错误泛化,并按上下文拆分冲突规则。
F201-F212 建立结构化 parser trace、rule coverage、递归/互递归 CFG fragment、 incremental ECT subtree correspondence、Pareto corpus、packed forest、nullable SCC fixed point、多 nonterminal 原子 transaction 和 content-addressed parser cache。
这里的关键不是“模型觉得输入像 JSON”,而是每个候选都能指出:
F213-F226 在 accepted forest 上建立 PCFG:
概率只改变候选排序。校准变差、证据过期或上下文样本不足时回退到更低阶/global posterior,不会把低概率规则当作不可能。
F227-F235 接入 persistent Tree-sitter、generalized Earley/Lark、Parglare GLR/SPPF, 并构造:
这些机制用于发现单一 parser adapter 的盲点。不同 parser 同意可提高证据强度, 不同意则进入四象限统计和 fail-closed 路径,而不是多数投票修改程序语义。
F11 允许从指定函数入口开始,而不必手写完整应用 harness:
它适合库函数、深层模块和难以从程序入口到达的代码,但 under-constrained execution 天然可能产生调用环境中不可达的状态。因此生成结果仍需回到真实 harness 或目标 程序验证;对象图大小、外部函数和 pointer scope 也都有上限。
F13/F39-F44 建立线程、锁、条件变量、内存读写和 provenance trace,构造 happens-before、lockset conflict 和 schedule artifact。F45-F55 逐步加入:
F56 保存 Source-DPOR source/sleep sets;F61 建 wakeup tree;F62 构造 bounded ConDPOR execution graph 和 backward revisit;F63/F64 根据 path-dependent event 重新生成 transition 并检查 enabledness;F57 联合 Query IR、schedule 和 read-from 求解;F58/F65 支持有界 SC、TSO、RA 与 native atomic trace。F221 修复 signed integer SMT-LIB 和跨 solver 可移植证据。
当前实现的准确表述是bounded schedule diversification 和可执行证据框架:
F12 先提供 content-addressed 分布式状态、lease、fencing、coverage gossip 和 multi-coordinator 控制面;F38 定义 canonical continuation descriptor;F59 保存 solver stack、symbolic store 和 page-COW memory;F66 让 continuation IR 可执行并 接入 MPI frontier。
checkpoint descriptor 的内容身份同时绑定 frames/PC、path-condition root、 symbolic-store root、memory root、program root、parent 和 target branch。不同数据面 使用不同持久结构:path condition 是 parent solver frame + assertion delta; symbolic store 是规范化全量映射 root;memory 是 page-level COW root,未修改页共享 摘要。worker 可以从 CAS 完整恢复这些 root。
同一 worker 对相邻 child 复用 prefix-keyed incremental solver 与已物化 SMT fragment;迁移到其他 worker 时从持久 solver-frame chain 重建。进程内 solver-frame、 fragment 和 process cache 不进入 checkpoint identity,丢失它们只影响性能,不改变 checkpoint 语义。
F68-F175 是一条很长但逻辑一致的工程链,可分为四段:
| 范围 | 主要能力 | 保守边界 |
|---|---|---|
| F68-F80 | integer SSA、静态对象、input ABI、stack/heap、有限 alias、pointer PHI/select、跨函数/间接调用 | 无法证明的 alias、递归和 typed ABI 拒绝 |
| F81-F95 | memcmp/copy/string/search summary、pointer-valued memory、invoke、freeze、scalar intrinsic | 只支持有界长度和已列白名单 |
| F96-F141 | bit intrinsic、overflow/poison/definedness、跨调用和多路径 memory sidecar | 不近似未证明的 poison 或 clobber |
| F142-F175 | 多 cell、符号索引区间、byte-lane definedness、循环与递归 source tree | region、tree、lane、depth 均有预算 |
关键对象包括:
后期 byte-lane 技术之所以细分许多 ID,是因为“一个 load 的值是否定义”可能来自 不同路径上的多个部分写入。实现从单 cell PHI 演进到多 cell、循环 carry、递归 condition tree、同源/多源 group 和 forwarded corridor,每次扩展都要求独立的 拓扑与 source-membership 证明。它们不是 30 个互不相关的功能。
复杂分支会产生大量短路径和嵌套 ITE。IFSS/Veritesting 尝试把多个路径合成一个 表达式状态,Hydra 尝试把相似控制流臂合并,从而减少 fork 和重复执行。错误变换会 直接改变程序语义,所以该技术族默认关闭并使用“证明、原程序重放、denylist”三层门。
F37 最初只生成 targeted transformation proposal;F248 将 profile-guided Hydra 接入真实 LLVM pass,并用未变换基线目标/原始 IR 生成的目标作为权威 replay oracle。 只有“变换目标出现失败而基线目标没有”的 site 才形成 spurious-failure 证据并进入 denylist;这符合 Hydra 的 failure-preserving 而非完整 semantics-preserving 边界。
F249-F259 逐步实现:
F260-F270 再将多出口区域表示为 exit-id + live-out tuple:
F271-F274 扩展多 break priority、unequal linear arms、internal-tree Hydra,并把三条 transformation pipeline 统一成 sealed independent replay。seal 绑定 input/lowered IR、compiler、LLVM tool、配置和 ordered proof identities;它能发现本地 artifact 漂移与篡改,但不是数字签名或远程 attestation。
LLVM new pass manager 把工作拆为 module pipeline start 与 vectorizer start 两段:
Module pipeline start:
IFSSSwitchLowering
-> IFSSLoopSummary
-> IFSSExitLowering
-> IFSSContinuationLowering
-> IFSSContinuationMemory
-> HydraTransformation
-> LiveContinuationExport
-> SymbolizePass(module)
Function pipeline at vectorizer start:
Scalarizer
-> LowerAtomic
-> SymbolizePass(function)
module 版 SymbolizePass 初始化 stable site IDs,插入
UCSan/atomic schedule instrumentation,导出静态依赖/距离图,重命名
wrapper 并建立 runtime constructor; function 版才 lower
intrinsic/inline assembly、建立参数表达式、插入 basic-block notification
并逐 instruction 符号化。LLVM 15 及以下的 legacy pipeline 保持相同的
逻辑变换顺序,但把
Scalarizer -> LowerAtomic -> SymbolizeLegacyPass
串在同一注册点。
这个顺序保证 CFG/continuation 变换先完成、atomic/vector 形态先规范化,再由普通 symbolization 看最终 IR。各变换对 proof failure 必须 fail closed;对于先构建再验证的 局部变换,回滚后不能留下孤立 runtime call、不完整 PHI 或残余 metadata。
F16/F21 统一 benchmark schema、公开目标、coverage/crash 口径、AFL stats、抽样和 统计;F60 把 backend oracle、semantic gate、digest 和 claim gate 写成可执行证据; F67 提供 sealed randomized paired protocol。后续各技术族继续把证据内建:
一份可用于科研结论的运行至少应保存:
项目现有 B 级历史数字可以说明某优化机制在特定环境可工作,但不能与不同 harness、 CPU 配额或版本的结果直接拼成 SOTA 对比。
| 目的 | 主要配置族 | 提醒 |
|---|---|---|
| 基础 concolic | SYMCC_INPUT_*, OUTPUT_DIR,
TIMEOUT |
先确认目标输入 ABI |
| 自适应 hybrid | TELEMETRY, PREFIX_DAG, ECT,
DATA_COVERAGE |
helper 会自动设置部分默认 |
| Poly/Z3 复用 | POLY_*, PREFIX_CONTEXT_CACHE,
UNSAT_CORE_* |
跨前缀只复用 SAT proposal |
| Query service | QUERY_*, GENERATOR_*,
PARTIAL_SOLUTION_* |
保存 Query IR 与 solver identity |
| Solver portfolio | QUERY_SOLVER_PORTFOLIO_*, SMT_*,
SOLVER_PSCACHE_* |
控制总 CPU,不只看 wall time |
| String | STRING_* |
域外 libc 语义会保守回退 |
| Grammar/parser | GRAMMAR_*, PARSER_*, PCFG_*,
PROPOSAL_* |
研究 artifact 可设为强制 |
| 并发 | SCHEDULE_*, DPOR_* |
event/thread/memory bound 必须记录 |
| Live state | LIVE_*, STATE_*,
OBJECT_TRANSPORT |
仅适用受支持 LLVM 子集 |
| UCSan | UCSAN_* |
结果需真实 harness 验证 |
| IFSS/Hydra | IFSS_*, HYDRA_*, manifest/seal |
compile-time、默认关闭 |
| 科研协议 | RESEARCH_*, EXPERIMENT_ID,
PAIR_ID, RANDOM_SEED |
不允许调参数据泄漏到 holdout |
建议从已定义 profile 启用功能,不要一次手工打开数十个开关。profile 会同步设置 依赖、hard guard、预算和输出路径;自定义实验则应保存规范化后的完整环境。
当前快照包含:
compiler/ 顶层 24 个 C++/header 文件;util/ 顶层 64 个 Python/C 工具;test/ 顶层 154 个 .py/.c/.ll 测试源;Configuration.txt 中 373 个唯一 SYMCC_*
配置名;New_Implementation_Archive.md 中连续的 275 个功能
ID。这些数量只能说明覆盖面,不能替代测试结果。常用入口如下:
| 主题 | 代码 | 代表测试 |
|---|---|---|
| Compiler/Backsolver | compiler/Symbolizer.cpp,
compiler/Pass.cpp |
backsolver_*.ll |
| Continuation | compiler/ContinuationLowering.cpp,
util/live_continuation.py |
live_continuation_*.ll |
| IFSS/Hydra | compiler/IFSS*.cpp,
compiler/HydraTransformation.cpp |
hydra_*.ll, backsolver_*ifss*.ll |
| QSYM/Query | QSYM solver.*, query_solver.cpp,
util/query_store.py |
query_*.py, poly_*.c |
| Feedback | util/hybrid_feedback.py,
util/expressive_coverage.py |
test_hybrid_feedback.py |
| String | runtime/src/LibcWrappers.cpp,
util/string_constraints.py |
string_*.py/.c |
| Grammar/parser | util/semantic_proposals.py, parser adapters |
test_*parser*.py,
test_semantic_proposals.py |
| Schedule | util/symcc_schedule_rt.c,
util/schedule_exploration.py |
test_schedule_exploration.py |
| Distributed/live state | util/distributed_state.py,
util/symcc_live_state.py |
test_distributed_state.py |
| QF_BV campaigns | util/qf_bv_*.py, SMT scheduler modules |
test_qf_bv_*.py, test_smt_*.py |
| Evidence | util/research_evidence.py, benchmark tools |
test_research_*.py |
本快照在 2026-07-29 重新执行了两套全量门禁:
PATH=/usr/lib/llvm-18/bin:$PATH ninja -C build check
-> 155/155 passed, 114.18 s
python3 -m unittest discover -s test -p 'test_*.py'
-> 459/459 passed, 109.060 s
文档自身还执行
generate_current_technology_index.py --check、本地 Markdown
链接 检查、Python py_compile 和
git diff --check。这些结果证明当前机制回归通过,
不替代真实目标的等 CPU、多轮覆盖率实验。
(object, offset, width, kind),但它记录的是观测到的最佳进展,不是程序语义完备性。不借用论文名称,仅从当前系统本身看,可以归纳出五个有研究价值的组合创新:
这些是合理的系统设计贡献候选。是否能形成论文主张,仍应由 R 级公开 benchmark、 消融和与最强 baseline 的公平对照决定。
下表由 New_Implementation_Archive.md 和
Development_History_Traceability.md 自动抽取。每个
F00-F274 必须恰好出现一次;
生成器在缺号、重号、标题缺失或状态缺失时失败。
| ID | 技术名称 | 主层 | 当前证据 | 权威明细 |
|---|---|---|---|---|
| F00 | 编译/runtime 基础正确性 | 基础正确性 | I/T | 档案 §3.1 |
| F01 | 统一执行遥测与后端抽象 | 遥测与覆盖 | I/T | 档案 §4 |
| F02 | Backsolver 与 bounded Veritesting | Query / solver | I/T | 档案 §5 |
| F03 | 分层求解、Pangolin 上下文复用与 UNSAT 复用 | Query / solver | I/T | 档案 §6 |
| F04 | data coverage、comparison taint 与 AFL 原生 map | 遥测与覆盖 | I/T | 档案 §7 |
| F05 | S2F actionseed、PrefixDAG、TACO/MultiGo | 调度与目标引导 | I/T | 档案 §8 |
| F06 | directed coloration、并发引导和结构任务图 | 遥测与覆盖 | I/T | 档案 §9 |
| F07 | Expressive Coverage Tree 与 minimum path cover | 遥测与覆盖 | I/T | 档案 §9 |
| F08 | 学习型 seed/worker/策略/参数调度 | 调度与目标引导 | I/T | 档案 §10 |
| F09 | SMTgazer 式算法序列调度 | 调度与目标引导 | I/T | 档案 §10 |
| F10 | 语义 fallback、agentic route 与验证式 proposal | 调度与目标引导 | I/T | 档案 §11 |
| F11 | UCSan 式 under-constrained execution | UCSan | I/T | 档案 §12 |
| F12 | content-addressed 分布式状态、fenced lease 与 coverage gossip | Live continuation | I/T | 档案 §13 |
| F13 | bounded-DPOR 调度探索 | 并发状态空间 | I/T | 档案 §14 |
| F14 | AFL++ hint mutator 与 profile 编排 | 调度与目标引导 | I/T | 档案 §15 |
| F15 | 干扰感知离线策略评估 | 调度与目标引导 | I/T | 档案 §11 |
| F16 | benchmark、消融与统计报告 | 证据与 benchmark | I/T | 档案 §16 |
| F17 | MPI 并行执行基础与可靠协议 | MPI / hybrid | I/T/B | 档案 §17.1 |
| F18 | AFL++/SymCC 闭环与吞吐优化 | MPI / hybrid | I/T/B | 档案 §17.2 |
| F19 | 可扩展工作分解与资源控制 | MPI / hybrid | I/T/B | 档案 §17.3 |
| F20 | 结构化输入与异构 fuzzing 协同 | MPI / hybrid | I/T/B | 档案 §17.4 |
| F21 | 公开 benchmark 与测量正确性 | MPI / hybrid | I/T/B | 档案 §17.5 |
| F22 | 阶段计时与冗余归因 | MPI / hybrid | I/T/B | 档案 §17.6 |
| F23 | 可配置 SymCC/SymSan 引擎抽象 | MPI / hybrid | I/T/B | 档案 §17.7 |
| F24 | SymSan 技术迁移与 RGD 求解栈 | MPI / hybrid | I/T/B | 档案 §17.8 |
| F25 | 可复现安装与离线交付 | MPI / hybrid | I/T/B | 档案 §17.9 |
| F26 | 跨层正确性审查修复 | 基础正确性 | I/T | 档案 §21 |
| F27 | 持久化 Query IR、异步 query trie 与增量 Z3 服务 | Query / solver | I/T | 档案 §22 |
| F28 | 完整 static Data Coverage 与独立 novelty/dominance | 遥测与覆盖 | I/T | 档案 §23 |
| F29 | reusable solution generator 与 full-matrix AFL mutator | Query / solver | I/T | 档案 §24 |
| F30 | string-constraint artifact 与 offset-aware candidate | 字符串双表示 | I/T | 档案 §25 |
| F31 | asynchronous solver portfolio 与 disagreement telemetry | Query / solver | I/T | 档案 §26 |
| F32 | PSCache-inspired partial solution cache 与 Query IR verified reuse | Query / solver | I/T | 档案 §27 |
| F33 | SymCC-str phase-2 string theory backend 与 MPI/CLI materialization | 字符串双表示 | I/T | 档案 §28 |
| F34 | Bounded parallel solver portfolio racing | Query / solver | I/T | 档案 §29 |
| F35 | Solver-helper internal PSCache assignment probing | Query / solver | I/T | 档案 §30 |
| F36 | Lase/Cottontail-inspired token grammar solve-complete proposals | 语法与解析 | I/T | 档案 §31 |
| F37 | IFSS/Hydra-style targeted transformation proposals | IFSS / Hydra | I/T | 档案 §32 |
| F38 | GenSym-style live continuation checkpoint descriptors | Live continuation | I/T | 档案 §33 |
| F39 | ConDPOR-style HB/lockset schedule conflict analysis | 并发状态空间 | I/T | 档案 §34 |
| F40 | ConDPOR-style memory read/write schedule trace instrumentation | 并发状态空间 | I/T | 档案 §35 |
| F41 | ConDPOR-style schedule constraint artifact export | 并发状态空间 | I/T | 档案 §36 |
| F42 | Query IR × schedule artifact joint replay validation | 并发状态空间 | I/T | 档案 §37 |
| F43 | Schedule memory provenance filtering | 并发状态空间 | I/T | 档案 §38 |
| F44 | Schedule memory provenance tags and artifact propagation | 并发状态空间 | I/T | 档案 §39 |
| F45 | Bounded SC schedule-SMT replay-prefix encoding | 并发状态空间 | I/T | 档案 §40 |
| F46 | Mutex/rwlock lifecycle-state schedule-SMT | 并发状态空间 | I/T | 档案 §41 |
| F47 | Condition-variable wait/wake operational schedule-SMT | 并发状态空间 | I/T | 档案 §42 |
| F48 | Thread create/join operational schedule-SMT | 并发状态空间 | I/T | 档案 §43 |
| F49 | Lifecycle partial-order / linear-extension schedule-SMT v5 | 并发状态空间 | I/T/B | 档案 §44 |
| F50 | Scaled-anchor sparse lifecycle order links | 并发状态空间 | I/T/B | 档案 §45 |
| F51 | Constructive linear-extension certificate checker | 并发状态空间 | I/T | 档案 §46 |
| F52 | Verified topology-to-runtime replay materialization | 并发状态空间 | I/T | 档案 §47 |
| F53 | Violation-driven lazy critical-section refinement | 并发状态空间 | I/T/B | 档案 §48 |
| F54 | Direct system-libz3 model extraction and solve CLI | 并发状态空间 | I/T | 档案 §49 |
| F55 | Detach/cancel/join-cancelled identity lifecycle | 并发状态空间 | I/T/B | 档案 §50 |
| F56 | Bounded Source-DPOR certificate、source set 与 sleep-set persistence | 并发状态空间 | I/T | 档案 §51 |
| F57 | Single-context Query IR × schedule × read-from solving | 并发状态空间 | I/T | 档案 §52 |
| F58 | Parameterized SC/TSO/RA bounded memory-model constraints | 并发状态空间 | I/T | 档案 §53 |
| F59 | Content-addressed live state、solver stack 与 page-COW memory | Live continuation | I/T | 档案 §54 |
| F60 | Executable research-evidence bundle and claim gates | 证据与 benchmark | I/T | 档案 §55 |
| F61 | Bounded Optimal-DPOR wakeup tree and cooperative ready evidence | 并发状态空间 | I/T | 档案 §56 |
| F62 | Bounded ConDPOR execution graph、backward revisit 与 maximal extension | 并发状态空间 | I/T | 档案 §57 |
| F63 | Path-dependent branch/action schedule events 与 causal regeneration | 并发状态空间 | I/T | 档案 §58 |
| F64 | Operational enabledness offers 与可复检证书 | 并发状态空间 | I/T | 档案 §59 |
| F65 | Native atomic trace 与扩展 bounded C11 RA 语义 | 并发状态空间 | I/T | 档案 §60 |
| F66 | Executable continuation IR 与 MPI live-state fork/resume | Live continuation | I/T | 档案 §61 |
| F67 | Sealed randomized research protocol 与配对统计 | 证据与 benchmark | I/T | 档案 §62 |
| F68 | Conservative LLVM-to-continuation lowering 与 feasibility pruning | Live continuation | I/T | 档案 §63 |
| F69 | Object-aware static memory continuation lowering | Live continuation | I/T | 档案 §64 |
| F70 | Explicit-size symbolic input-buffer entry ABI | Live continuation | I/T | 档案 §65 |
| F71 | Frame-local fixed stack objects 与 resumable lifetime | Live continuation | I/T | 档案 §66 |
| F72 | Bounded call-site heap objects 与 alloc/free lifetime | Live continuation | I/T | 档案 §67 |
| F73 | Bounded symbolic offset/alias enumeration 与 finite ITE memory | Live continuation | I/T | 档案 §68 |
| F74 | Guarded pointer PHI/select provenance union | Live continuation | I/T | 档案 §69 |
| F75 | Bounded multi-instance heap identity 与 canonical slot reuse | Live continuation | I/T | 档案 §70 |
| F76 | Bounded cross-function pointer/object references | Live continuation | I/T | 档案 §71 |
| F77 | CAS-rooted state-local incremental solver contexts | Live continuation | I/T | 档案 §72 |
| F78 | Nullable runtime-sized allocator 与 conditional heap state | Live continuation | I/T | 档案 §73 |
| F79 | Caller-domain symbolic pointer certificate | Live continuation | I/T | 档案 §74 |
| F80 | Bounded indirect-call points-to dispatch 与 typed continuation ABI | Live continuation | I/T | 档案 §75 |
| F81 | Deterministic external memory-compare effect summary | Live continuation | I/T | 档案 §76 |
| F82 | Bounded external region-write effect summaries | Live continuation | I/T | 档案 §77 |
| F83 | Pointer-returning bounded indirect dispatch | Live continuation | I/T | 档案 §78 |
| F84 | Guarded memory access 与 bounded NUL-aware string summaries | Live continuation | I/T | 档案 §79 |
| F85 | Bounded pointer-returning memory/string search summaries | Live continuation | I/T | 档案 §80 |
| F86 | Guarded memory write 与 bounded string-copy summaries | Live continuation | I/T | 档案 §81 |
| F87 | LLVM defined-value guards for integer UB/poison conditions | Live continuation | I/T | 档案 §82 |
| F88 | Bounded pointer-valued memory 与 finite provenance sidecar | Live continuation | I/T | 档案 §83 |
| F89 | Scalar function-pointer memory 与 typed target recovery | Live continuation | I/T | 档案 §84 |
| F90 | Bounded global pointer/function-pointer tables | Live continuation | I/T | 档案 §85 |
| F91 | Direct-predecessor pointer-memory merge | Live continuation | I/T | 档案 §86 |
| F92 | Proven-nounwind invoke normal-edge lowering |
Live continuation | I/T | 档案 §87 |
| F93 | Stable dynamic nondeterministic freeze choice | Live continuation | I/T | 档案 §88 |
| F94 | Bounded acyclic pointer-memory SSA closure | Live continuation | I/T | 档案 §89 |
| F95 | Deterministic scalar external/intrinsic summaries | Live continuation | I/T | 档案 §90 |
| F96 | Bounded bit-count intrinsic summaries | Live continuation | I/T | 档案 §91 |
| F97 | Direct deferred-poison freeze | Live continuation | I/T | 档案 §92 |
| F98 | Bounded cyclic pointer-memory SSA fixed point | Live continuation | I/T | 档案 §93 |
| F99 | Canonical constant-GEP pointer-cell identity | Live continuation | I/T | 档案 §94 |
| F100 | Bounded bit-permutation/funnel-shift intrinsics | Live continuation | I/T | 档案 §95 |
| F101 | Bounded saturating add/sub intrinsics | Live continuation | I/T | 档案 §96 |
| F102 | Bounded saturating shift intrinsics | Live continuation | I/T | 档案 §97 |
| F103 | Bounded scalar abs/min/max intrinsics | Live continuation | I/T | 档案 §98 |
| F104 | LLVM branch-hint identity intrinsics | Live continuation | I/T | 档案 §99 |
| F105 | Bounded static objectsize intrinsic | Live continuation | I/T | 档案 §100 |
| F106 | Bounded dynamic objectsize intrinsic | Live continuation | I/T | 档案 §101 |
| F107 | Bounded overflow arithmetic aggregates | Live continuation | I/T | 档案 §102 |
| F108 | Integer/data/function-pointer ssa.copy |
Live continuation | I/T | 档案 §103 |
| F109 | Dynamic realloc objectsize | Live continuation | I/T | 档案 §104 |
| F110 | Transitive deferred poison chain | Live continuation | I/T | 档案 §105 |
| F111 | Totalized deferred division freeze | Live continuation | I/T | 档案 §106 |
| F112 | Path-sensitive select poison | Live continuation | I/T | 档案 §107 |
| F113 | PHI edge-definedness merge | Live continuation | I/T | 档案 §108 |
| F114 | Straight-line memory poison sidecar | Live continuation | I/T | 档案 §109 |
| F115 | Canonical-address memory poison | Live continuation | I/T | 档案 §110 |
| F116 | Linear-CFG memory poison | Live continuation | I/T | 档案 §111 |
| F117 | Direct-call return poison ABI | Live continuation | I/T | 档案 §112 |
| F118 | Direct-call argument poison ABI | Live continuation | I/T | 档案 §113 |
| F119 | Bounded multi-callsite poison ABI | Live continuation | I/T | 档案 §114 |
| F120 | Symbolic pointer-memory + initial definition merge | Live continuation | I/T | 档案 §115 |
| F121 | Transitive argument-to-return poison | Live continuation | I/T | 档案 §116 |
| F122 | Bounded multi-consumer deferred poison | Live continuation | I/T | 档案 §117 |
| F123 | Bounded multi-load memory poison | Live continuation | I/T | 档案 §118 |
| F124 | Acyclic branch memory poison | Live continuation | I/T | 档案 §119 |
| F125 | Path-dependent memory definedness PHI | Live continuation | I/T | 档案 §120 |
| F126 | Interprocedural memory definedness PHI | Live continuation | I/T | 档案 §121 |
| F127 | Multilevel memory definedness PHI | Live continuation | I/T | 档案 §122 |
| F128 | Cyclic memory definedness PHI | Live continuation | I/T | 档案 §123 |
| F129 | Initial memory definedness merge | Live continuation | I/T | 档案 §124 |
| F130 | Initial subobject definedness merge | Live continuation | I/T | 档案 §125 |
| F131 | Cyclic no-write definedness carry | Live continuation | I/T | 档案 §126 |
| F132 | Conditional store/carry transfer | Live continuation | I/T | 档案 §127 |
| F133 | Forwarded conditional carry | Live continuation | I/T | 档案 §128 |
| F134 | Multi-arm equivalent-source carry | Live continuation | I/T | 档案 §129 |
| F135 | Equivalent defined-store carry | Live continuation | I/T | 档案 §130 |
| F136 | Shared-poison writer carry | Live continuation | I/T | 档案 §131 |
| F137 | Nested conditional writer carry | Live continuation | I/T | 档案 §132 |
| F138 | Bounded recursive writer/carry tree | Live continuation | I/T | 档案 §133 |
| F139 | Grouped recursive source tree | Live continuation | I/T | 档案 §134 |
| F140 | Repeated-source recursive tree | Live continuation | I/T | 档案 §135 |
| F141 | Multi-carry recursive tree | Live continuation | I/T | 档案 §136 |
| F142 | Disjoint multi-cell definedness PHI | Live continuation | I/T | 档案 §137 |
| F143 | Identified-object multi-cell definedness PHI | Live continuation | I/T | 档案 §138 |
| F144 | Fixed-heap-object multi-cell definedness PHI | Live continuation | I/T | 档案 §139 |
| F145 | Finite pointer-domain multi-cell definedness PHI | Live continuation | I/T | 档案 §140 |
| F146 | Guard-correlated pointer-domain multi-cell PHI | Live continuation | I/T | 档案 §141 |
| F147 | PHI-correlated pointer-domain multi-cell PHI | Live continuation | I/T | 档案 §142 |
| F148 | Symbolic-index interval multi-cell PHI | Live continuation | I/T | 档案 §143 |
| F149 | Byte-lane memory definedness composition | Live continuation | I/T | 档案 §144 |
| F150 | Direct-predecessor byte-lane definedness PHI | Live continuation | I/T | 档案 §145 |
| F151 | Cyclic byte-lane definedness PHI | Live continuation | I/T | 档案 §146 |
| F152 | Conditional cyclic byte-lane carry | Live continuation | I/T | 档案 §147 |
| F153 | Forwarded conditional cyclic byte-lane carry | Live continuation | I/T | 档案 §148 |
| F154 | Multi-arm conditional cyclic byte-lane carry | Live continuation | I/T | 档案 §149 |
| F155 | Forwarded multi-arm cyclic byte-lane carry | Live continuation | I/T | 档案 §150 |
| F156 | Recursive conditional cyclic byte-lane carry | Live continuation | I/T | 档案 §151 |
| F157 | Forwarded recursive cyclic byte-lane carry | Live continuation | I/T | 档案 §152 |
| F158 | Grouped recursive cyclic byte-lane source | Live continuation | I/T | 档案 §153 |
| F159 | Repeated-source recursive cyclic byte-lane transfer | Live continuation | I/T | 档案 §154 |
| F160 | Composed repeated-source recursive byte-lane transfer | Live continuation | I/T | 档案 §155 |
| F161 | Multi-carry composed recursive byte-lane tree | Live continuation | I/T | 档案 §156 |
| F162 | Multiple internal recursive byte-lane groups | Live continuation | I/T | 档案 §157 |
| F163 | Mixed multi-group recursive byte-lane composition | Live continuation | I/T | 档案 §158 |
| F164 | Forwarded grouped recursive byte-lane source | Live continuation | I/T | 档案 §159 |
| F165 | Forwarded repeated-source recursive byte-lane transfer | Live continuation | I/T | 档案 §160 |
| F166 | Forwarded composed repeated-source byte-lane transfer | Live continuation | I/T | 档案 §161 |
| F167 | Forwarded multi-group recursive byte-lane tree | Live continuation | I/T | 档案 §162 |
| F168 | Forwarded mixed multi-group byte-lane composition | Live continuation | I/T | 档案 §163 |
| F169 | Forwarded multi-carry composed byte-lane tree | Live continuation | I/T | 档案 §164 |
| F170 | Three-group recursive byte-lane tree | Live continuation | I/T | 档案 §165 |
| F171 | Double-composed multi-group byte-lane tree | Live continuation | I/T | 档案 §166 |
| F172 | Forwarded double-composed multi-group tree | Live continuation | I/T | 档案 §167 |
| F173 | Forwarded Three-Group Recursive Byte-Lane Tree | Live continuation | I/T | 档案 §168 |
| F174 | Composed Three-Group Recursive Byte-Lane Tree | Live continuation | I/T | 档案 §169 |
| F175 | Forwarded Composed Three-Group Byte-Lane Tree | Live continuation | I/T | 档案 §170 |
| F176 | Validated Cross-Prefix Polyhedral Reuse | Query / solver | I/T/E | 档案 §171 |
| F177 | Verifier-Gated Optimistic Generator Simplification | Query / solver | I/T/E | 档案 §172 |
| F178 | Native Z3 Tactic Model-Converter Generation | Query / solver | I/T/E | 档案 §173 |
| F179 | Validated Cross-Size Polyhedral Projection | Query / solver | I/T/E | 档案 §174 |
| F180 | Bounded Structure-Preserving Polyhedral Field Renaming | Query / solver | I/T/E | 档案 §175 |
| F181 | Persistent Query-IR Converter Replay | Query / solver | I/T/E | 档案 §176 |
| F182 | SMT-Validated Exact Integer Projection Relations | Query / solver | I/T/E | 档案 §177 |
| F183 | Cross-Size Endian-Aware Field Alignment | Query / solver | I/T/E | 档案 §178 |
| F184 | Exact-Proof Widening Field Alignment | Query / solver | I/T/E | 档案 §179 |
| F185 | Exact-Proof Narrowing Field Alignment | Query / solver | I/T/E | 档案 §180 |
| F186 | Conditional Contextual ParaSuit Parameter Graph | 调度与目标引导 | I/T/E | 档案 §181 |
| F187 | Feedback-Validated Online Token Grammar | 语法与解析 | I/T/E | 档案 §182 |
| F188 | Fail-Soft Per-Query Selective Concolic Partitioning | Query / solver | I/T/E | 档案 §183 |
| F189 | Persistent Cost-Aware Mixed Completion Policy | Query / solver | I/T/E | 档案 §184 |
| F190 | Query-IR-Verified Grammar Hole Completion | 语法与解析 | I/T/E | 档案 §185 |
| F191 | Plateau-Gated Retained-History Acquisition | 语法与解析 | I/T/E | 档案 §186 |
| F192 | Independent Parser Oracle and Contextual Grammar Conflict Splitting | 语法与解析 | I/T/E | 档案 §187 |
| F193 | Exact String/BV Dual-View Query Contract | 字符串双表示 | I/T/E | 档案 §188 |
| F194 | Guarded Runtime String-Operation Query Artifacts | 字符串双表示 | I/T/E | 档案 §189 |
| F195 | Validation-First Parallel String Backend Portfolio | 字符串双表示 | I/T/E | 档案 §190 |
| F196 | Exact-Subdomain Decimal Conversion Semantics | 字符串双表示 | I/T/E | 档案 §191 |
| F197 | Width-Bound Signed strtol Contract | 字符串双表示 | I/T/E | 档案 §192 |
| F198 | Executable Cross-Solver String Conformance Gate | 字符串双表示 | I/T/E | 档案 §193 |
| F199 | Validation-Aware Contextual String Backend Selection | 字符串双表示 | I/T/E | 档案 §194 |
| F200 | Width-Bound Unsigned strtoul and Overflow-Proof Decimal Folds | 字符串双表示 | I/T/E | 档案 §195 |
| F201 | Parser-State Structural Trace and Nonterminal-Aware Grammar Context | 语法与解析 | I/T/E | 档案 §196 |
| F202 | Structural Rule-Coverage-Aware Grammar Scheduling | 语法与解析 | I/T/E | 档案 §197 |
| F203 | Recursive Parser Production Induction and Independent Grammar Bitmap | 语法与解析 | I/T/E | 档案 §198 |
| F204 | Bounded Multi-Slot/Mutual CFG Fragments and Derivation Search | 语法与解析 | I/T/E | 档案 §199 |
| F205 | Incremental ECT Subtree Correspondence and Verified Substitution | 语法与解析 | I/T/E | 档案 §200 |
| F206 | Seven-Objective Pareto Grammar/ECT Scheduling | 语法与解析 | I/T/E | 档案 §201 |
| F207 | Epsilon-Pareto Corpus Metadata Ownership and Replacement | 语法与解析 | I/T/E | 档案 §202 |
| F208 | Packed Parser Forest Families and Verified Epsilon Derivation | 语法与解析 | I/T/E | 档案 §203 |
| F209 | Shared Packed DAG and Deep Alternative ECT Correspondence | 语法与解析 | I/T/E | 档案 §204 |
| F210 | Nullable SCC Least Fixed Point and Proof-Carrying Deletion | 语法与解析 | I/T/E | 档案 §205 |
| F211 | Atomic Multi-Nonterminal ECT Transactions | 语法与解析 | I/T/E | 档案 §206 |
| F212 | Content-Addressed Incremental Parser Cache Protocol | 语法与解析 | I/T/E | 档案 §207 |
| F213 | Accepted-Forest PCFG Posterior and Inside/Outside Scheduling | 语法与解析 | I/T/E | 档案 §208 |
| F214 | Relation-Aware Synchronized Slots with Exploration Reserve | 语法与解析 | I/T/E | 档案 §209 |
| F215 | Hierarchical Context-Conditioned PCFG and Context-State Forest Mass | 语法与解析 | I/T/E | 档案 §210 |
| F216 | Prequential Context Calibration and Drift-Safe Global Fallback | 语法与解析 | I/T/E | 档案 §211 |
| F217 | Recency-Window Calibration, Stale Detection and Recovery | 语法与解析 | I/T/E | 档案 §212 |
| F218 | Bounded Adaptive Log-Loss Window and Verifiable Cut Certificate | 语法与解析 | I/T/E | 档案 §213 |
| F219 | Verifier-Gated Grandparent Multi-Context Probabilistic Circuit | 语法与解析 | I/T/E | 档案 §214 |
| F220 | Bounded Ordered-Sibling Autoregressive PCFG Factor | 语法与解析 | I/T/E | 档案 §215 |
| F221 | Portable SMT-LIB Signed-Integer Schedule Evidence | 并发状态空间 | I/T/E | 档案 §216 |
| F222 | Fail-Closed MPI Grammar-Hole QueryStore Wiring | 语法与解析 | I/T/E | 档案 §217 |
| F223 | Context-Wise Anytime-Valid PCFG Drift Certificates | 语法与解析 | I/T/E | 档案 §218 |
| F224 | Bounded Second-Order Sibling-History PCFG Factor | 语法与解析 | I/T/E | 档案 §219 |
| F225 | Cross-Context Infinite-Horizon FWER Audit | 语法与解析 | I/T/E | 档案 §220 |
| F226 | Five-Level PCFG Confirmatory Ablation and Sealed Artifact | 语法与解析 | I/T/E | 档案 §221 |
| F227 | Persistent Native Tree-sitter Incremental Parser | 语法与解析 | I/T/E | 档案 §222 |
| F228 | Proof-Carrying Parser Telemetry and Sealed Cost Ablation | 语法与解析 | I/T/E | 档案 §223 |
| F229 | Persistent Generalized Earley Complete-SPPF Adapter | 语法与解析 | I/T/E | 档案 §224 |
| F230 | Proof-Carrying Complete-Forest Telemetry and Calibration | 语法与解析 | I/T/E | 档案 §225 |
| F231 | Candidate-Paired Cross-Parser Calibration | 语法与解析 | I/T/E | 档案 §226 |
| F232 | Parser-Neutral Structural Correspondence Certificate | 语法与解析 | I/T/E | 档案 §227 |
| F233 | Independent GLR/SPPF Differential Oracle | 语法与解析 | I/T/E | 档案 §228 |
| F234 | Proof-Carrying Cross-Parser Grammar Correspondence | 语法与解析 | I/T/E | 档案 §229 |
| F235 | Bounded Exhaustive Parser-Language Differential Certificate | 语法与解析 | I/T/E | 档案 §230 |
| F236 | Proof-Carrying Assumption-Conflict PSCache | Query / solver | I/T/E | 档案 §231 |
| F237 | Proof-Carrying Backend-Neutral QF_BV Portfolio | Query / solver | I/T/E | 档案 §232 |
| F238 | Prefix-Keyed Persistent SMT-LIB QF_BV Contexts | Query / solver | I/T/E | 档案 §233 |
| F239 | Proof-Carrying X-means/BIC Censored Sequence Prior | Query / solver | I/T/E | 档案 §234 |
| F240 | Bagged/Boosted Censored-Cost Budgeted Sequence Optimizer | Query / solver | I/T/E | 档案 §235 |
| F241 | Bounded Expected-Improvement Schedule SMBO | Query / solver | I/T/E | 档案 §236 |
| F242 | SAT-Gated Bounded-Consensus Portfolio Cancellation | Query / solver | I/T/E | 档案 §237 |
| F243 | Query-IR Structural Context Feature Schema v2 | Query / solver | I/T/E | 档案 §238 |
| F244 | Fixed-Version Bitwuzla QF_BV Conformance Evidence | Query / solver | I/T/E | 档案 §239 |
| F245 | Sealed Paired QF_BV Holdout Campaign | Query / solver | I/T/E | 档案 §240 |
| F246 | Leakage-Checked Solver-Strategy Holdout Campaign | Query / solver | I/T/E | 档案 §241 |
| F247 | Sealed AFL Edge/Data Coverage Join 与 Feature Calibration | 遥测与覆盖 | I/T/E | 档案 §242 |
| F248 | Profile-Guided Hydra Control-Flow Melding 与 Original Replay | IFSS / Hydra | I/T/E | 档案 §243 |
| F249 | Bounded Multi-Arm IFSS Region-State Worklist | IFSS / Hydra | I/T | 档案 §244 |
| F250 | MemorySSA/AA-Proven IFSS Memory-State Merge | IFSS / Hydra | I/T | 档案 §245 |
| F251 | Bounded NoMod MemorySSA Def-Chain Recovery | IFSS / Hydra | I/T | 档案 §246 |
| F252 | Shared Multi-Arm IFSS Data/Memory Partition | IFSS / Hydra | I/T | 档案 §247 |
| F253 | Partition-Scoped Condition DAG Cache 与 Ownership | IFSS / Hydra | I/T | 档案 §248 |
| F254 | Bounded Multi-Return Exit-State Lowering | IFSS / Hydra | I/T | 档案 §249 |
| F255 | Bounded Switch-to-IFSS Chain Lowering | IFSS / Hydra | I/T | 档案 §250 |
| F256 | Unsigned Range-Balanced Switch Tree | IFSS / Hydra | I/T | 档案 §251 |
| F257 | Profile-Weighted Optimal Alphabetic Switch Tree | IFSS / Hydra | I/T | 档案 §252 |
| F258 | Shared-Destination Switch Edge/PHI Multiplicity Proof | IFSS / Hydra | I/T | 档案 §253 |
| F259 | LLVM Branch-Weight Import 与可重放 Switch Manifest | IFSS / Hydra | I/T | 档案 §254 |
| F260 | Bounded Multi-Continuation Exit-ID/Live-Out Tuple | IFSS / Hydra | I/T | 档案 §255 |
| F261 | Proof-Carrying Bounded Affine Natural-Loop Summary | IFSS / Hydra | I/T | 档案 §256 |
| F262 | MemorySSA/AA-Proven Continuation Memory Tuple | IFSS / Hydra | I/T | 档案 §257 |
| F263 | Replay-Verifiable Continuation CFG/Tuple Manifest | IFSS / Hydra | I/T/E | 档案 §258 |
| F264 | Atomic SHA-256 Continuation Artifact Seal | IFSS / Hydra | I/T/E | 档案 §259 |
| F265 | Independent Bitcode MemorySSA/AA Proof Replay | IFSS / Hydra | I/T/E | 档案 §260 |
| F266 | Upper-Triangular Affine Loop Closed Form and Manifest | IFSS / Hydra | I/T/E | 档案 §261 |
| F267 | Bounded Post-Update Break/Continue Exit Tuple | IFSS / Hydra | I/T/E | 档案 §262 |
| F268 | Bounded Multi-Block Linear-Arm Hydra Alignment | IFSS / Hydra | I/T/E | 档案 §263 |
| F269 | Partial Store/Live-on-Entry Continuation Memory Tuple | IFSS / Hydra | I/T/E | 档案 §264 |
| F270 | Bounded Acyclic Nested-MemoryPhi Provenance Tree | IFSS / Hydra | I/T/E | 档案 §265 |
| F271 | Bounded Multi-Break Exit-Priority Circuit | IFSS / Hydra | I/T/E | 档案 §266 |
| F272 | Proof-Carrying Unequal Linear-Arm Hydra Alignment | IFSS / Hydra | I/T/E | 档案 §267 |
| F273 | Proof-Carrying Bounded Internal-Tree Hydra Melding | IFSS / Hydra | I/T/E | 档案 §268 |
| F274 | Unified Sealed Independent Transformation Replay | IFSS / Hydra | I/T/E | 档案 §269 |
Architecture_QA3.md:执行次序、位图、约束形态、求解策略、
种子影响、ICSE'23 和 benchmark 的逐问分析;Correctness_Review_Fixes_2026-07.md:
correctness 审查和修复;sota_hybrid_execution_2026.md:学术来源、SOTA
映射和边界;SOTA_Gap_Audit_2026-07-24.md:逐论文语义差距;Recent_Work_and_Next_Research_Plan.md:
近期实现和后续研究;../benchmark/README.md:benchmark
命令、schema 和产物。主要技术来源包括 QSYM、 Backsolver、 Pangolin、 GenSlv、 PSCache、 SymCC-str、 Lase、 Data Coverage、 CoFuzz、 GenSym、 ConDPOR、 Hydra、 SMTgazer、 Cottontail 和 UCSan。 论文中的性能数字、证明和适用范围属于原论文;本文只描述本仓库已经实现并有证据 支持的部分。