Dynamic Checking of Safe Concurrent Memory Access using Shared Ownership
Mischael Schill, Sebastian Nanz, Bertrand Meyer

TL;DR
This paper introduces a formal shared ownership model for dynamically checking safe concurrent memory access, improving correctness verification in shared-memory programming.
Contribution
It presents a novel formal model and methodology for automatically detecting unsafe memory accesses in concurrent programs using shared ownership.
Findings
Model is proven free from data races
Effective in detecting unsafe accesses during simulation
Demonstrated on various synchronization mechanisms
Abstract
In shared-memory concurrent programming, shared resources can be protected using synchronization mechanisms such as monitors or channels. The connection between these mechanisms and the resources they protect is, however, only given implicitly; this makes it difficult both for programmers to apply the mechanisms correctly and for compilers to check that resources are properly protected. This paper presents a mechanism to automatically check that shared memory is accessed properly, using a methodology called shared ownership. In contrast to traditional ownership, shared ownership offers more flexibility by permitting multiple owners of a resource. On the basis of this methodology, we define an abstract model of resource access that provides operations to manage data dependencies, as well as sharing and transfer of access privileges. The model is rigorously defined using a formal…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed systems and fault tolerance · Security and Verification in Computing
