Traditional ways of synchronizing access to shared data using mutexes (and variants thereof) open the door to resource deadlocks, where two or more threads are blocked in a circular wait for each other. Such bugs are often hard to uncover because they only happen under specific circumstances.
This talk will explain how we implemented a simple framework to detect potential resource deadlocks before they happen by using intrusive dynamic analysis. The talk will also explain how to integrate the framework to existing code. Finally, we will discuss a possible evolution of the project into a more general dynamic analysis framework for C++.
Programmers with an interest in multithreading or dynamic analysis are the intended audience.
---
*--*
---
![](https://i.ytimg.com/vi/Re67U4zAN-M/mqdefault.jpg)