论文
当下一步不是一步时:并发 Go 程序的分布式感知执行建模
When the Next Step Is Not One Step: Distribution-Aware Execution Modeling for Concurrent Go Programs
摘要
训练模型来预测并发程序中的下一步比看起来更难:来自同一跟踪前缀的同一程序的两次运行可能会产生不同的下一个事件,这两个事件都有效,因为调度程序是不确定的。针对单个标签训练的模型正在学习猜测随机过程的一个结果。我们扭转这一局面,并使用不确定性作为训练信号。我们多次运行每个程序,将观察到的后续事件聚合成经验分布,并微调 7B 模型以将该分布与 KL 目标相匹配。在从实际生产 Go bug(CockroachDB、Kubernetes、gRPC 等)中提取的 798 个保留预测中,微调 在不到 1000 个跟踪上达到了 36.2% 的准确率,领先于使用零样本的 Gemini 3.5 Flash(34.8%)和没有 微调 的相同模型(28.6%)。分布训练在准确度上与交叉熵相匹配(35.8% 与 36.2%),同时将预期校准误差从 0.205 降低到 0.169。我们还为一类选择阻塞的 goroutine 推导了一个正式的 goroutine-leak 签名,其中 P(GoUnblock)=0 通过调度程序语义而不是通过学习而成立。我们发布数据集、训练有素的适配器和所有工具。