pith. sign in

arxiv: 1709.10077 · v1 · pith:J7XXFDA2new · submitted 2017-09-28 · 💻 cs.PL · cs.SE

Thread-Modular Static Analysis for Relaxed Memory Models

classification 💻 cs.PL cs.SE
keywords methodstaticanalysismodelsfeasibilitymemorysignificantlytechniques
0
0 comments X
read the original abstract

We propose a memory-model-aware static program analysis method for accurately analyzing the behavior of concurrent software running on processors with weak consistency models such as x86-TSO, SPARC-PSO, and SPARC-RMO. At the center of our method is a unified framework for deciding the feasibility of inter-thread interferences to avoid propagating spurious data flows during static analysis and thus boost the performance of the static analyzer. We formulate the checking of interference feasibility as a set of Datalog rules which are both efficiently solvable and general enough to capture a range of hardware-level memory models. Compared to existing techniques, our method can significantly reduce the number of bogus alarms as well as unsound proofs. We implemented the method and evaluated it on a large set of multithreaded C programs. Our experiments showthe method significantly outperforms state-of-the-art techniques in terms of accuracy with only moderate run-time overhead.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.