Resource-sensitive synchronization inference by abduction

Matko Botincan, Mike Dodds, Suresh Jagannathan
<span title="">2012</span> <i title="ACM Press"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/2qaxtqe2rfgjnfefqcokcnzelq" style="color: black;">Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL &#39;12</a> </i> &nbsp;
We present an analysis which takes as its input a sequential program, augmented with annotations indicating potential parallelization opportunities, and a sequential proof, written in separation logic, and produces a correctly-synchronized parallelized program and proof of that program. Unlike previous work, ours is not an independence analysis; we insert synchronization constructs to preserve relevant dependencies found in the sequential program that may otherwise be violated by a naïve
more &raquo; ... tion. Separation logic allows us to parallelize fine-grained patterns of resource-usage, moving beyond straightforward points-to analysis. Our analysis works by using the sequential proof to discover dependencies between different parts of the program. It leverages these discovered dependencies to guide the insertion of synchronization primitives into the parallelized program, and to ensure that the resulting parallelized program satisfies the same specification as the original sequential program, and exhibits the same sequential behaviour. Our analysis is built using frame inference and abduction, two techniques supported by an increasing number of separation logic tools.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1145/2103656.2103694">doi:10.1145/2103656.2103694</a> <a target="_blank" rel="external noopener" href="https://dblp.org/rec/conf/popl/BotincanDJ12.html">dblp:conf/popl/BotincanDJ12</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/wh76el2gzrfbjp73ld5izkq3xm">fatcat:wh76el2gzrfbjp73ld5izkq3xm</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20170809013956/http://www-users.cs.york.ac.uk/~miked//publications/POPL.12.synchronization_abduction.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/29/f5/29f5546ee899db06eab8cd10fef3eaa7e1969957.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1145/2103656.2103694"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> acm.org </button> </a>