Lightweight annotations for controlling sharing in concurrent data structures (2009)
| Citations: | 10 - 2 self |
BibTeX
@TECHREPORT{Anderson09lightweightannotations,
author = {Zachary Anderson and David Gay and Mayur Naik},
title = {Lightweight annotations for controlling sharing in concurrent data structures},
institution = {},
year = {2009}
}
OpenURL
Abstract
SharC is a recently developed system for checking data-sharing in multithreaded programs. Programmers specify sharing rules (readonly, protected by a lock, etc.) for individual objects, and the SharC compiler enforces these rules using static and dynamic checks. Violations of these rules indicate unintended data sharing, which is the underlying cause of harmful data-races. Additionally, SharC allows programmers to change the sharing rules for a specific object using a sharing cast, to capture the fact that sharing rules for an object often change during the object’s lifetime. SharC was successfully applied to a number of multi-threaded C programs. However, many programs are not readily checkable using SharC because their sharing rules, and changes to sharing rules, effectively apply to whole data structures rather than to individual objects. We have developed a system called Shoal to address this shortcoming.







