当前位置:
X-MOL 学术
›
arXiv.cs.PL
›
论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A Thread-Local Semantics and Efficient Static Analyses for Race Free Programs
arXiv - CS - Programming Languages Pub Date : 2020-09-06 , DOI: arxiv-2009.02775 Suvam Mukherjee, Oded Padon, Sharon Shoham, Deepak D'Souza, Noam Rinetzky
arXiv - CS - Programming Languages Pub Date : 2020-09-06 , DOI: arxiv-2009.02775 Suvam Mukherjee, Oded Padon, Sharon Shoham, Deepak D'Souza, Noam Rinetzky
Data race free (DRF) programs constitute an important class of concurrent
programs. In this paper we provide a framework for designing and proving the
correctness of data flow analyses that target this class of programs. These
analyses are in the same spirit as the "sync-CFG" analysis proposed in earlier
literature. To achieve this, we first propose a novel concrete semantics for
DRF programs, called L-DRF, that is thread-local in nature---each thread
operates on its own copy of the data state. We show that abstractions of our
semantics allow us to reduce the analysis of DRF programs to a sequential
analysis. This aids in rapidly porting existing sequential analyses to sound
and scalable analyses for DRF programs. Next, we parameterize L-DRF with a
partitioning of the program variables into "regions" which are accessed
atomically. Abstractions of the region-parameterized semantics yield more
precise analyses for "region-race" free concurrent programs. We instantiate
these abstractions to devise efficient relational analyses for race free
programs, which we have implemented in a prototype tool called RATCOP. On the
benchmarks, RATCOP was able to prove up to 65% of the assertions, in comparison
to 25% proved by our baseline. Moreover, in a comparative study with a recent
concurrent static analyzer, RATCOP was up to 5 orders of magnitude faster.
中文翻译:
无种族程序的线程局部语义和有效的静态分析
无数据竞争 (DRF) 程序构成了一类重要的并发程序。在本文中,我们提供了一个框架,用于设计和证明针对此类程序的数据流分析的正确性。这些分析与早期文献中提出的“sync-CFG”分析具有相同的精神。为了实现这一点,我们首先为 DRF 程序提出了一种新的具体语义,称为 L-DRF,它本质上是线程本地的——每个线程都在自己的数据状态副本上运行。我们展示了我们语义的抽象允许我们将 DRF 程序的分析减少到顺序分析。这有助于将现有的顺序分析快速移植到 DRF 程序的合理且可扩展的分析中。接下来,我们通过将程序变量划分为“区域”来参数化 L-DRF 以原子方式访问。区域参数化语义的抽象为“区域竞争”免费并发程序产生更精确的分析。我们实例化这些抽象以设计无种族程序的有效关系分析,我们已在名为 RATCOP 的原型工具中实现了这些分析。在基准测试中,RATCOP 能够证明多达 65% 的断言,而我们的基线证明了 25%。此外,在与最近的并发静态分析器的比较研究中,RATCOP 的速度提高了 5 个数量级。在基准测试中,RATCOP 能够证明多达 65% 的断言,而我们的基线证明了 25%。此外,在与最近的并发静态分析器的比较研究中,RATCOP 的速度提高了 5 个数量级。在基准测试中,RATCOP 能够证明多达 65% 的断言,而我们的基线证明了 25%。此外,在与最近的并发静态分析器的比较研究中,RATCOP 的速度提高了 5 个数量级。
更新日期:2020-09-08
中文翻译:
无种族程序的线程局部语义和有效的静态分析
无数据竞争 (DRF) 程序构成了一类重要的并发程序。在本文中,我们提供了一个框架,用于设计和证明针对此类程序的数据流分析的正确性。这些分析与早期文献中提出的“sync-CFG”分析具有相同的精神。为了实现这一点,我们首先为 DRF 程序提出了一种新的具体语义,称为 L-DRF,它本质上是线程本地的——每个线程都在自己的数据状态副本上运行。我们展示了我们语义的抽象允许我们将 DRF 程序的分析减少到顺序分析。这有助于将现有的顺序分析快速移植到 DRF 程序的合理且可扩展的分析中。接下来,我们通过将程序变量划分为“区域”来参数化 L-DRF 以原子方式访问。区域参数化语义的抽象为“区域竞争”免费并发程序产生更精确的分析。我们实例化这些抽象以设计无种族程序的有效关系分析,我们已在名为 RATCOP 的原型工具中实现了这些分析。在基准测试中,RATCOP 能够证明多达 65% 的断言,而我们的基线证明了 25%。此外,在与最近的并发静态分析器的比较研究中,RATCOP 的速度提高了 5 个数量级。在基准测试中,RATCOP 能够证明多达 65% 的断言,而我们的基线证明了 25%。此外,在与最近的并发静态分析器的比较研究中,RATCOP 的速度提高了 5 个数量级。在基准测试中,RATCOP 能够证明多达 65% 的断言,而我们的基线证明了 25%。此外,在与最近的并发静态分析器的比较研究中,RATCOP 的速度提高了 5 个数量级。