B. Demsky, и P. Lam. Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1, стр. 395--404. New York, NY, USA, ACM, (2010)
DOI: 10.1145/1806799.1806858
Аннотация
We present views, a new approach to controlling concurrency. Fine-grained locking is often necessary to increase concurrency. Correctly implementing fine-grained locking with today's concurrency primitives can be challenging---race conditions often plague programs with sophisticated locking schemes. Views ease the task of implementing sophisticated locking schemes and provide static checks to automatically detect many data races.</p> <p>Views consist of view declarations that describe which views of an object may be simultaneously held by different threads, which object fields may be accessed through a given view, and which methods can be called through a given view. A set of view annotations specify which code regions hold a view of an object. Our view compiler performs simple static checks which eliminate many data races.</p> <p>We have ported three benchmark applications to use views: portions of Vuze, a BitTorrent client; Mailpuccino, a graphical e-mail client; and TupleSoup, a database. Our experience indicates that views are easy to use, make implementing sophisticated locking schemes simple, and can help eliminate concurrency bugs.
%0 Conference Paper
%1 Demsky:2010:VOC:1806799.1806858
%A Demsky, Brian
%A Lam, Patrick
%B Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
%C New York, NY, USA
%D 2010
%I ACM
%K Concurrency Java RelatedWork Views
%P 395--404
%R 10.1145/1806799.1806858
%T Views: object-inspired concurrency control
%U http://doi.acm.org/10.1145/1806799.1806858
%X We present views, a new approach to controlling concurrency. Fine-grained locking is often necessary to increase concurrency. Correctly implementing fine-grained locking with today's concurrency primitives can be challenging---race conditions often plague programs with sophisticated locking schemes. Views ease the task of implementing sophisticated locking schemes and provide static checks to automatically detect many data races.</p> <p>Views consist of view declarations that describe which views of an object may be simultaneously held by different threads, which object fields may be accessed through a given view, and which methods can be called through a given view. A set of view annotations specify which code regions hold a view of an object. Our view compiler performs simple static checks which eliminate many data races.</p> <p>We have ported three benchmark applications to use views: portions of Vuze, a BitTorrent client; Mailpuccino, a graphical e-mail client; and TupleSoup, a database. Our experience indicates that views are easy to use, make implementing sophisticated locking schemes simple, and can help eliminate concurrency bugs.
%@ 978-1-60558-719-6
@inproceedings{Demsky:2010:VOC:1806799.1806858,
abstract = {We present views, a new approach to controlling concurrency. Fine-grained locking is often necessary to increase concurrency. Correctly implementing fine-grained locking with today's concurrency primitives can be challenging---race conditions often plague programs with sophisticated locking schemes. Views ease the task of implementing sophisticated locking schemes and provide static checks to automatically detect many data races.</p> <p>Views consist of view declarations that describe which views of an object may be simultaneously held by different threads, which object fields may be accessed through a given view, and which methods can be called through a given view. A set of view annotations specify which code regions hold a view of an object. Our view compiler performs simple static checks which eliminate many data races.</p> <p>We have ported three benchmark applications to use views: portions of Vuze, a BitTorrent client; Mailpuccino, a graphical e-mail client; and TupleSoup, a database. Our experience indicates that views are easy to use, make implementing sophisticated locking schemes simple, and can help eliminate concurrency bugs.},
acmid = {1806858},
added-at = {2011-11-22T13:53:32.000+0100},
address = {New York, NY, USA},
author = {Demsky, Brian and Lam, Patrick},
biburl = {https://www.bibsonomy.org/bibtex/29e43e0128106da732844551e7f0d322b/gron},
booktitle = {Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1},
description = {Views},
doi = {10.1145/1806799.1806858},
interhash = {afd9a057dda4d91728348d183effc0ed},
intrahash = {9e43e0128106da732844551e7f0d322b},
isbn = {978-1-60558-719-6},
keywords = {Concurrency Java RelatedWork Views},
location = {Cape Town, South Africa},
numpages = {10},
pages = {395--404},
publisher = {ACM},
series = {ICSE '10},
timestamp = {2011-11-22T13:53:32.000+0100},
title = {Views: object-inspired concurrency control},
url = {http://doi.acm.org/10.1145/1806799.1806858},
year = 2010
}