When the Next Step Is Not One Step: Distribution-Aware Execution Modeling for Concurrent Go Programs

📅 2026-06-16
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work addresses the challenge of modeling concurrency bugs in Go programs, where scheduling nondeterminism leads to multiple valid next events from the same execution prefix—a scenario poorly captured by conventional single-label prediction models. The authors propose a distribution-aware modeling approach that collects empirical distributions of next events through repeated program executions and fine-tunes a 7B-parameter large language model using Kullback–Leibler divergence as the optimization objective to align its predictions with the observed distributions. By treating scheduling uncertainty as a training signal, the method formally characterizes goroutine leaks induced by select statement blocking. Evaluated on 798 real-world Go production defect prediction tasks, the model achieves an accuracy of 36.2%, outperforming Gemini 3.5 Flash in zero-shot settings, and attains a significantly reduced expected calibration error of 0.169.
📝 Abstract
Training a model to predict the next step in a concurrent program is harder than it looks: two runs of the same program from the same trace prefix can produce different next events, both valid, because the scheduler is nondeterministic. A model trained against a single label is learning to guess one outcome of a random process. We turn this around and use the nondeterminism as a training signal. We run each program many times, aggregate the observed next events into an empirical distribution, and fine-tune a 7B model to match that distribution with a KL objective. On 798 held-out predictions drawn from real production Go bugs (CockroachDB, Kubernetes, gRPC, etcd), fine-tuning on fewer than a thousand traces reaches 36.2% accuracy, ahead of Gemini 3.5 Flash used zero-shot (34.8%) and the same model without fine-tuning (28.6%). Distribution training matches cross-entropy on accuracy (35.8% vs. 36.2%) while reducing Expected Calibration Error from 0.205 to 0.169. We also derive a formal goroutine-leak signature for a class of select-blocked goroutines where P(GoUnblock)=0 holds by scheduler semantics, not by learning. We release the dataset, trained adapters, and all tooling.
Problem

Research questions and friction points this paper is trying to address.

concurrent programs
nondeterminism
next-step prediction
execution modeling
distribution-aware
Innovation

Methods, ideas, or system contributions that make the work stand out.

distribution-aware modeling
concurrent program prediction
nondeterministic scheduling
KL divergence fine-tuning
goroutine leak detection
K
Kaviru Hapuarachchi
University of Colombo School of Computing, 35 Reid Avenue, Colombo 07, Sri Lanka