A racetrack problem is a specific instance of a type of race condition. A racetrack problem is a flaw in a system or process whereby the output and/or result of the process is unexpectedly and critically dependent on the sequence or timing of other events that run in a circular pattern. Note that this problem is semantically different from a race condition because of the circular nature of the problem.
The term originates with the idea of two signals racing each other in a circular motion to influence the output first. Racetrack problems can occur in electronics systems, especially logic circuits, and in computer software, especially multithreaded or distributed programs.
- Starvation and Critical Race Analyzers for Ada
- Paper "Algorithms for the Optimal State Assignment of Asynchronous State Machines" by Robert M. Fuhrer, Bill Lin and Steven M. Nowick
- Paper "A Novel Framework for Solving the State Assignment Problem for Event-Based Specifications" by Luciano Lavagno, Cho W. Moon, Robert K. Brayton and Alberto Sangiovanni-Vincentelli
- Article "Secure programmer: Prevent race conditions—Resource contention can be used against you" by David A. Wheeler
- Chapter "Avoid Race Conditions" (Secure Programming for Linux and Unix HOWTO)
- Race conditions, security, and immutability in Java, with sample source code and comparison to C code, by Chiral Software