Search papers, labs, and topics across Lattice.
This paper addresses the challenge of predicting next steps in concurrent Go programs, where nondeterministic scheduling leads to multiple valid outcomes from the same trace prefix. By leveraging this nondeterminism as a training signal, the authors fine-tune a 7B model to match the empirical distribution of next events, achieving a notable accuracy of 36.2% on a set of real production Go bugs. This approach not only surpasses the performance of a zero-shot model and the same model without fine-tuning but also improves calibration metrics, showcasing the effectiveness of distribution-aware training in complex environments.
Harnessing the unpredictability of concurrent execution, this method achieves a 36.2% accuracy in predicting next steps, outperforming leading models in the field.
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.