Hello,
I think that the future looks much more bright for parallel programming,
because even if race conditions detection is NP-hard problem, there exist even "scalable" race detectors that become more and more powerful rapidly with the "exponential" growth of performance of scalable algorithms on parallel computers, look for example here to notice it :
Scalable race detection for Android applications
https://dl.acm.org/citation.cfm?id=2814303
I think deadlocks are much easier to detect.
Thank you,
Amine Moulay Ramdane.