Algorithms are presented for detecting errors and anomalies in programs which use synchronization constructs to implement concurrency. The algorithms employ data flow analysis techniques. First used in compiler object code optimization, the techniques have more recently been used in the detection of variable usage errors in single process programs. By adapting these existing algorithms the same classes of variable usage error can be detected in concurrent process programs. Important classes of errors unique to concurrent process programs are also described, and algorithms for their detection are presented.
Taylor, Richard N. and Osterweil, Leon J., "Anomaly Detection in Concurrent Software by Static Data Flow Analysis ; CU-CS-152-79" (1979). Computer Science Technical Reports. 150.