Browse Prior Art Database

Detection of Deadlocks and Race Conditions in Computing Systems

IP.com Disclosure Number: IPCOM000254963D
Publication Date: 2018-Aug-17

Publishing Venue

The IP.com Prior Art Database

Abstract

A race condition is a phenomenon wherein the output of an electronic device or computer process (thread) depends on the relative timing of events outside the control of the process or device. A deadlock is a state in which multiple computing processes that share a common resource are stalled due to the processes mutually locking each other out of access to the resource. Deadlocks and race conditions are difficult bugs to detect, or even reproduce for debugging. This disclosure presents techniques that detect deadlocks and race conditions using machine-learning models to analyze the control flow graph of a program. Predictions of potential race or deadlock conditions are accompanied by justifications, e.g., potential scenarios that cause a race conditions or deadlock to arise. The classifying and generalizing abilities of machinelearning models are applied such that these difficult to detect bugs are caught at design stage, most advantageously for large code bases. KEYWORDS deadlock; race condition; race hazard; deadlock detection; machine learning; control flow graph; depth-first search