Dataflow Analysis for Datarace-free Programs
Arnab de, Deepak D'Souza & Rupesh Nasre
Memory models for shared-memory concurrent programming languages typically
guarantee sequential consistency (SC) semantics for datarace-free (DRF)
programs, while providing very weak or no guarantees for non-DRF programs. In
effect programmers are expected to write only DRF programs, which are then
executed with SC semantics. With this in mind, we propose a novel scalable
solution for dataflow analysis of concurrent programs, which is proved to be
sound for DRF programs with SC semantics. We use the synchronization structure
of the program to propagate dataflow information among threads without requiring
to consider all interleavings explicitly. Given a dataflow analysis that is
sound for sequential programs and meets certain criteria, our technique
automatically converts it to an analysis for concurrent programs.
pdf