Pervasive Detection of Process Races in Deployed Systems

Process races occur when multiple processes access shared operating system resources, such as files, without proper synchronization. The authors present the first study of real process races and the first system designed to detect them. Their study of hundreds of applications shows that process races are numerous, difficult to debug, and a real threat to reliability. To address this problem, they created RACEPRO, a system for automatically detecting these races. RACEPRO checks deployed systems in-vivo by recording live executions then deterministically replaying and checking them later.