{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,28]],"date-time":"2025-09-28T04:19:31Z","timestamp":1759033171942,"version":"3.41.0"},"reference-count":41,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2012,4,1]],"date-time":"2012-04-01T00:00:00Z","timestamp":1333238400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000144","name":"Division of Computer and Network Systems","doi-asserted-by":"publisher","award":["CCF-1048398, CCF-0938232, and CNS-0716659"],"award-info":[{"award-number":["CCF-1048398, CCF-0938232, and CNS-0716659"]}],"id":[{"id":"10.13039\/100000144","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000143","name":"Division of Computing and Communication Foundations","doi-asserted-by":"publisher","award":["CCF-1048398, CCF-0938232, and CNS-0716659"],"award-info":[{"award-number":["CCF-1048398, CCF-0938232, and CNS-0716659"]}],"id":[{"id":"10.13039\/100000143","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Program. Lang. Syst."],"published-print":{"date-parts":[[2012,4]]},"abstract":"<jats:p>\n            Concurrency-related errors, such as data races, are frustratingly difficult to track down and eliminate in large object-oriented programs. Traditional approaches to preventing data races rely on protecting instruction sequences with synchronization operations. Such control-centric approaches are inherently brittle, as the burden is on the programmer to ensure that all concurrently accessed memory locations are consistently protected. Data-centric synchronization is an alternative approach that offloads some of the work on the language implementation. Data-centric synchronization groups fields of objects into\n            <jats:italic>atomic sets<\/jats:italic>\n            to indicate that these fields must always be updated atomically. Each atomic set has associated\n            <jats:italic>units of work<\/jats:italic>\n            , that is, code fragments that preserve the consistency of that atomic set. Synchronization operations are added automatically by the compiler. We present an extension to the Java programming language that integrates annotations for data-centric concurrency control. The resulting language, called AJ, relies on a type system that enables separate compilation and supports atomic sets that span multiple objects and that also supports full encapsulation for more efficient code generation. We evaluate our proposal by refactoring classes from standard libraries, as well as a number of multithreaded benchmarks, to use atomic sets. Our results suggest that data-centric synchronization is easy to use and enjoys low annotation overhead, while successfully preventing data races. Moreover, experiments on the SPECjbb benchmark suggest that acceptable performance can be achieved with a modest amount of tuning.\n          <\/jats:p>","DOI":"10.1145\/2160910.2160913","type":"journal-article","created":{"date-parts":[[2012,5,1]],"date-time":"2012-05-01T13:43:38Z","timestamp":1335879818000},"page":"1-48","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":20,"title":["A data-centric approach to synchronization"],"prefix":"10.1145","volume":"34","author":[{"given":"Julian","family":"Dolby","sequence":"first","affiliation":[{"name":"IBM T.J. Watson Research Center, Yorktown Heights, NY"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Christian","family":"Hammer","sequence":"additional","affiliation":[{"name":"Saarland University, Saarbr\u00fccken, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Daniel","family":"Marino","sequence":"additional","affiliation":[{"name":"Symantec Research Labs, Culver City, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Frank","family":"Tip","sequence":"additional","affiliation":[{"name":"IBM T.J. Watson Research Center, Yorktown Heights, NY"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mandana","family":"Vaziri","sequence":"additional","affiliation":[{"name":"IBM T.J. Watson Research Center, Yorktown Heights, NY"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jan","family":"Vitek","sequence":"additional","affiliation":[{"name":"Purdue University, West Lafayette, IN"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2012,5,4]]},"reference":[{"doi-asserted-by":"publisher","key":"e_1_2_1_1_1","DOI":"10.1145\/1119479.1119480"},{"doi-asserted-by":"publisher","key":"e_1_2_1_2_1","DOI":"10.1002\/stvr.281"},{"doi-asserted-by":"publisher","key":"e_1_2_1_3_1","DOI":"10.1145\/1736020.1736029"},{"doi-asserted-by":"publisher","key":"e_1_2_1_4_1","DOI":"10.1145\/1640089.1640097"},{"doi-asserted-by":"publisher","key":"e_1_2_1_5_1","DOI":"10.1145\/582419.582440"},{"doi-asserted-by":"publisher","key":"e_1_2_1_6_1","DOI":"10.1145\/504282.504287"},{"doi-asserted-by":"publisher","key":"e_1_2_1_7_1","DOI":"10.1002\/cpe.v16:12"},{"doi-asserted-by":"publisher","key":"e_1_2_1_8_1","DOI":"10.1145\/1353522.1353525"},{"doi-asserted-by":"publisher","key":"e_1_2_1_9_1","DOI":"10.1145\/1375581.1375619"},{"doi-asserted-by":"publisher","key":"e_1_2_1_10_1","DOI":"10.1145\/286936.286947"},{"doi-asserted-by":"publisher","key":"e_1_2_1_11_1","DOI":"10.1145\/1806799.1806858"},{"doi-asserted-by":"publisher","key":"e_1_2_1_12_1","DOI":"10.1145\/581339.581394"},{"doi-asserted-by":"publisher","key":"e_1_2_1_13_1","DOI":"10.1145\/945445.945468"},{"doi-asserted-by":"publisher","key":"e_1_2_1_14_1","DOI":"10.1145\/349299.349328"},{"doi-asserted-by":"publisher","key":"e_1_2_1_15_1","DOI":"10.1145\/1377492.1377495"},{"doi-asserted-by":"publisher","key":"e_1_2_1_16_1","DOI":"10.1145\/781131.781169"},{"volume-title":"Proceedings of the European Conference on Object-Oriented Programming (ECOOP). 205--229","author":"Greenhouse A.","unstructured":"Greenhouse , A. and Boyland , J . 1999. An object-oriented effects system . In Proceedings of the European Conference on Object-Oriented Programming (ECOOP). 205--229 . Greenhouse, A. and Boyland, J. 1999. An object-oriented effects system. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP). 205--229.","key":"e_1_2_1_17_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_18_1","DOI":"10.1145\/1286821.1286823"},{"doi-asserted-by":"publisher","key":"e_1_2_1_19_1","DOI":"10.1145\/1368088.1368120"},{"doi-asserted-by":"publisher","key":"e_1_2_1_20_1","DOI":"10.1145\/949305.949340"},{"doi-asserted-by":"publisher","key":"e_1_2_1_21_1","DOI":"10.1145\/165123.165164"},{"doi-asserted-by":"publisher","key":"e_1_2_1_22_1","DOI":"10.1145\/355620.361161"},{"doi-asserted-by":"publisher","key":"e_1_2_1_23_1","DOI":"10.1007\/s10009-011-0197-7"},{"doi-asserted-by":"publisher","key":"e_1_2_1_24_1","DOI":"10.1145\/1869459.1869514"},{"doi-asserted-by":"publisher","key":"e_1_2_1_25_1","DOI":"10.1145\/1806799.1806836"},{"doi-asserted-by":"publisher","key":"e_1_2_1_26_1","DOI":"10.1145\/286936.286953"},{"volume-title":"Proceedings of the European Conference on Object-Oriented Programming Workshop Reader. 110--111","author":"Leino K. R. M.","unstructured":"Leino , K. R. M. , Saxe , J. B. , and Stata , R . 1999. Checking Java programs via guarded commands . In Proceedings of the European Conference on Object-Oriented Programming Workshop Reader. 110--111 . Leino, K. R. M., Saxe, J. B., and Stata, R. 1999. Checking Java programs via guarded commands. In Proceedings of the European Conference on Object-Oriented Programming Workshop Reader. 110--111.","key":"e_1_2_1_27_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_28_1","DOI":"10.1145\/1294261.1294272"},{"doi-asserted-by":"publisher","key":"e_1_2_1_29_1","DOI":"10.1145\/1346281.1346323"},{"doi-asserted-by":"publisher","key":"e_1_2_1_30_1","DOI":"10.1145\/1815961.1815988"},{"doi-asserted-by":"publisher","key":"e_1_2_1_31_1","DOI":"10.1145\/1111037.1111068"},{"volume-title":"Proceedings of the European Conference on Object-Oriented Programming (ECOOP). 158--185","author":"Noble J.","unstructured":"Noble , J. , Vitek , J. , and Potter , J . 1998. Flexible alias protection . In Proceedings of the European Conference on Object-Oriented Programming (ECOOP). 158--185 . Noble, J., Vitek, J., and Potter, J. 1998. Flexible alias protection. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP). 158--185.","key":"e_1_2_1_32_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_33_1","DOI":"10.1145\/781498.781528"},{"doi-asserted-by":"publisher","key":"e_1_2_1_34_1","DOI":"10.1145\/268998.266641"},{"doi-asserted-by":"publisher","key":"e_1_2_1_35_1","DOI":"10.1145\/1111037.1111067"},{"doi-asserted-by":"publisher","key":"e_1_2_1_36_1","DOI":"10.1002\/spe.369"},{"doi-asserted-by":"publisher","key":"e_1_2_1_37_1","DOI":"10.5381\/jot.2004.3.6.a5"},{"doi-asserted-by":"publisher","key":"e_1_2_1_38_1","DOI":"10.1145\/1122971.1122993"},{"doi-asserted-by":"publisher","key":"e_1_2_1_39_1","DOI":"10.1109\/TSE.2006.1599419"},{"doi-asserted-by":"publisher","key":"e_1_2_1_40_1","DOI":"10.1007\/978-3-642-03013-0_21"},{"doi-asserted-by":"publisher","key":"e_1_2_1_41_1","DOI":"10.1145\/1065010.1065013"}],"container-title":["ACM Transactions on Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2160910.2160913","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2160910.2160913","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T10:05:48Z","timestamp":1750241148000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2160910.2160913"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,4]]},"references-count":41,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2012,4]]}},"alternative-id":["10.1145\/2160910.2160913"],"URL":"https:\/\/doi.org\/10.1145\/2160910.2160913","relation":{},"ISSN":["0164-0925","1558-4593"],"issn-type":[{"type":"print","value":"0164-0925"},{"type":"electronic","value":"1558-4593"}],"subject":[],"published":{"date-parts":[[2012,4]]},"assertion":[{"value":"2011-02-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-02-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-05-04","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}