AI & ML
Automatically Detecting and Fixing Deadlocks in Go Code with GoDDaR
arXiv cs.DC0 views
arXiv:2610.08962v1 Announce Type: cross Abstract: The Go programming language provides a lightweight abstraction for concurrent programming through goroutines, which are prone to deadlocks. Go includes a runtime detector that aborts execution when all threads are blocked (a global deadlock). However, due to nondeterministic thread scheduling, this runtime mechanism only detects global deadlocks that manifest during execution and cannot identify partial deadlocks, where a subset of goroutines is permanently blocked while at least one remains runnable. Statically detecting local deadlocks is essential for developing dependable concurrent software. While several tools statically detect deadlocks in concurrent programs, few assist developers in fixing them. Detecting and resolving partial deadlocks requires reasoning about complex interleavings and communication patterns, an inherently challenging task. In this paper, we present GoDDaR, a tool that detects unobserved global or partial deadlocks in Go programs and suggests concrete fixes. GoDDaR translates Go source code into an intermediate representation reflecting message-passing communication events and composition patterns. Partial deadlocks are identified through symbolic analysis over this representation. To resolve detected deadlocks, our algorithms transform the intermediate representation to eliminate problematic synchronization patterns, allowing GoDDaR to generate fix suggestions for the original Go source code as a diff. We evaluate GoDDaR on a benchmark suite of representative deadlock examples from literature and git repositories to validate algorithm correctness and compare performance against the state of the art. Results demonstrate that GoDDaR is competitive with top approaches in partial deadlock detection and advances the state of the art in automated deadlock fixing.
Source:https://arxiv.org/abs/2610.08962PreviousCertified Splitting: Decidability and Anchor Supply for Maximal-Munch TokenizationNextExpert Coupling in MoE Pretraining: Reducing All-to-All Overhead with Correlated Placement and Token Shuffling
Related posts

Always-on Apple Watch display showing the wrong time? Here’s the fix
09to5Mac

Affinity for iPad all-in-one design app now available, free for individuals
09to5Mac

Affinity’s creative studio is now available on iPad for free
0The Verge

SpaceX could buy Boost Mobile as part of its big mobile carrier plans
0The Verge
Northwood Space raises $375M Series C at a $2B valuation from a16z and DFJ growth
0TechCrunch

The Download: the agentic web arrives and the drive for safer roads
0MIT Technology Review