{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,11,11]],"date-time":"2026-11-11T01:17:37Z","timestamp":1794359857131,"version":"4.9.0"},"publisher-location":"Berlin, Heidelberg","reference-count":14,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783540897392","type":"print"},{"value":"9783540897408","type":"electronic"}],"license":[{"start":{"date-parts":[[2008,1,1]],"date-time":"2008-01-01T00:00:00Z","timestamp":1199145600000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2008]]},"DOI":"10.1007\/978-3-540-89740-8_10","type":"book-chapter","created":{"date-parts":[[2008,11,27]],"date-time":"2008-11-27T08:14:24Z","timestamp":1227773664000},"page":"141-155","source":"Crossref","is-referenced-by-count":14,"title":["Minimum Lock Assignment: A Method for Exploiting Concurrency among Critical Sections"],"prefix":"10.1007","author":[{"given":"Yuan","family":"Zhang","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Vugranam C.","family":"Sreedhar","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Weirong","family":"Zhu","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Vivek","family":"Sarkar","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Guang R.","family":"Gao","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","reference":[{"key":"10_CR1","volume-title":"Transaction Processing: Concepts and Techniques","author":"J. Gray","year":"1993","unstructured":"Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Francisco (1993)"},{"key":"10_CR2","unstructured":"Sreedhar, V., Zhang, Y., Gao, G.: A new framework for analysis and optimization of shared memory parallel programs. Technical Report CAPSL-TM-063, University of Delaware, Newark, DE (2005)"},{"key":"10_CR3","unstructured":"The Stanford FLASH Prjoect. Stanford parallel applications for shared memory (SPLASH) benchmark, http:\/\/www-flash.stanford.edu\/apps\/SPLASH\/"},{"key":"10_CR4","unstructured":"Briggs, P.: Register Allocation via Graph Coloring. Ph.D thesis, Rice University (1992)"},{"key":"10_CR5","doi-asserted-by":"crossref","unstructured":"Zhang, Y., Sreedhar, V., Zhu, W., Sarkar, V., Gao, G.: Optimized lock assignment and allocation: A method for exploiting concurrency among critical sections. Technical Report CAPSL-TM-065-revised, University of Delaware, Newark, DE (2007)","DOI":"10.1145\/1229428.1229459"},{"key":"10_CR6","doi-asserted-by":"crossref","unstructured":"Ghiya, R., Hendren, L.J.: Is it a tree, a dag, or a cyclic graph? a shape analysis for heap-directed pointers in c. In: POPL 1996: Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 1\u201315 (1996)","DOI":"10.1145\/237721.237724"},{"key":"10_CR7","doi-asserted-by":"crossref","unstructured":"Zhu, W., Sreedhar, V.C., Hu, Z., Gao, G.R.: Synchronization state buffer: supporting efficient fine-grain synchronization on many-core architectures. In: ISCA 2007: Proceedings of the 34th annual international symposium on Computer architecture, pp. 35\u201345 (2007)","DOI":"10.1145\/1250662.1250668"},{"key":"10_CR8","doi-asserted-by":"crossref","unstructured":"Emmi, M., Fischer, J.S., Jhala, R., Majumdar, R.: Lock allocation. In: POPL 2007: Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 291\u2013296 (2007)","DOI":"10.1145\/1190216.1190260"},{"key":"10_CR9","unstructured":"Hicks, M., Foster, J., Pratikakis, P.: Lock inference for atomic sections. In: TRANSACT 2006: Proceedings of the 1st ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing (2006)"},{"key":"10_CR10","doi-asserted-by":"crossref","unstructured":"McCloskey, B., Zhou, F., Gay, D., Brewer, E.: Autolocker: synchronization inference for atomic sections. In: POPL 2006: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 346\u2013358 (2006)","DOI":"10.1145\/1111037.1111068"},{"key":"10_CR11","first-page":"334","volume-title":"POPL 2006","author":"M. Vaziri","year":"2006","unstructured":"Vaziri, M., Tip, F., Dolby, J.: Associating synchronization constraints with data in an object-oriented language. In: POPL 2006, pp. 334\u2013345. ACM, New York (2006)"},{"key":"10_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"284","DOI":"10.1007\/BFb0017259","volume-title":"Languages and Compilers for Parallel Computing","author":"P. Diniz","year":"1997","unstructured":"Diniz, P., Rinard, M.: Lock coarsening: Eliminating lock overhead in automatically parallelized object-based programs. In: Sehr, D., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D.A. (eds.) LCPC 1996. LNCS, vol.\u00a01239, pp. 284\u2013299. Springer, Heidelberg (1997)"},{"issue":"6","key":"10_CR13","doi-asserted-by":"publisher","first-page":"876","DOI":"10.1145\/945885.945892","volume":"25","author":"J.-D. Choi","year":"2003","unstructured":"Choi, J.-D., Gupta, M., Serrano, M.J., Sreedhar, V.C., Midkiff, S.P.: Stack allocation and synchronization optimizations for java using escape analysis. ACM Trans. Program. Lang. Syst.\u00a025(6), 876\u2013910 (2003)","journal-title":"ACM Trans. Program. Lang. Syst."},{"issue":"2-3","key":"10_CR14","doi-asserted-by":"publisher","first-page":"91","DOI":"10.1016\/S0167-6423(02)00129-6","volume":"47","author":"J. Aldrich","year":"2003","unstructured":"Aldrich, J., Sirer, E., Chambers, C., Eggers, S.: Comprehensive synchronization elimination for java. Science of Computer Programming\u00a047(2-3), 91\u2013120 (2003)","journal-title":"Science of Computer Programming"}],"container-title":["Lecture Notes in Computer Science","Languages and Compilers for Parallel Computing"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-540-89740-8_10","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,15]],"date-time":"2019-05-15T16:15:03Z","timestamp":1557936903000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-540-89740-8_10"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008]]},"ISBN":["9783540897392","9783540897408"],"references-count":14,"URL":"https:\/\/doi.org\/10.1007\/978-3-540-89740-8_10","relation":{"is-part-of":[{"id-type":"doi","id":"https:\/\/doi.org\/10.1007\/978-3-540-89740-8","asserted-by":"object"}]},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2008]]}}}