**Segment-Based May-Happen-in-Parallel Analysis for C Programs** by Fu et al. has some interesting cases why some things cannot race, e.g., - the parent thread holding some mutex throughout the entire execution of the child, or - the parent thread starting while holding the same mutex the child will acquire, which yields ordering information. <img width="318" height="392" alt="Image" src="https://github.com/user-attachments/assets/7e6adc0e-e3af-479b-b026-6e611c659323" /> This may be interesting for, e.g., a Bachelor's student to implement. ---- Paper: https://onlinelibrary.wiley.com/doi/10.1002/cpe.70203