Testing race conditions with mem access tracing and stack-based delay injection
projectzero.google
1 thread
The theory of "stable identifiers for memory accesses across runs" described in this post is generally called "Execution Indexing" [1], and the exact formulation described in this post (using count-augmented stack traces) has actually been used for deadlock fuzzing in the past [2]. Interesting to see the visualization in a GUI.
[1] "Efficient program execution indexing", Xin et al. 2008: https://dl.acm.org/doi/pdf/10.1145/1375581.1375611
[2] "A Randomized Dynamic Program Analysis Technique for Detecting Real Deadlocks" by Joshi et al. 2009, see Section 2.4.2: https://dl.acm.org/doi/pdf/10.1145/1543135.1542489#page=6