{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,5]],"date-time":"2024-09-05T13:36:13Z","timestamp":1725543373530},"publisher-location":"Berlin, Heidelberg","reference-count":24,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540372158"},{"type":"electronic","value":"9783540372165"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2006]]},"DOI":"10.1007\/11813040_32","type":"book-chapter","created":{"date-parts":[[2006,8,7]],"date-time":"2006-08-07T10:51:03Z","timestamp":1154947863000},"page":"476-491","source":"Crossref","is-referenced-by-count":23,"title":["A Memory Model Sensitive Checker for C#"],"prefix":"10.1007","author":[{"given":"Thuan Quang","family":"Huynh","sequence":"first","affiliation":[]},{"given":"Abhik","family":"Roychoudhury","sequence":"additional","affiliation":[]}],"member":"297","reference":[{"key":"32_CR1","unstructured":"Java Specification Request\u00a0(JSR) 133. Java Memory Model and Thread Specification revision (2004)"},{"key":"32_CR2","unstructured":"Abrams, B.: http:\/\/blogs.msdn.com\/brada\/archive\/2004\/05\/12\/130935.aspx"},{"key":"32_CR3","unstructured":"Brumme, C.: Weblog: Memory model, http:\/\/blogs.msdn.com\/cbrumme\/archive\/2003\/05\/17\/51445.aspx"},{"key":"32_CR4","volume-title":"Reasoning about Parallel Architectures","author":"W.W. Collier","year":"1992","unstructured":"Collier, W.W.: Reasoning about Parallel Architectures. Prentice Hall, Englewood Cliffs (1992)"},{"key":"32_CR5","unstructured":"Dwyer, M.B., et al.: Using static and dynamic escape analysis to enable model reductions in model-checking concurrent object-oriented programs. Technical report, Kansas State Univ. (2003)"},{"key":"32_CR6","unstructured":"Bacon, D., et al.: The \u201dDouble-checked Locking is Broken\u201d declaration, http:\/\/www.cs.umd.edu\/pugh\/java\/memoryModel\/DoubleCheckedLocking.html"},{"key":"32_CR7","doi-asserted-by":"publisher","first-page":"399","DOI":"10.4153\/CJM-1956-045-5","volume":"8","author":"L.R. Ford","year":"1956","unstructured":"Ford, L.R., Fulkerson, D.R.: Maximum flow through a network. Canad. J. Math\u00a08, 399\u2013404 (1956)","journal-title":"Canad. J. Math"},{"key":"32_CR8","unstructured":"JGF. The Java Grande Forum Multi-threaded Benchmarks (2001), http:\/\/www.epcc.ed.ac.uk\/computing\/research_activities\/java_grande\/threads.html"},{"key":"32_CR9","unstructured":"JPF. The Java Path Finder model checking tool (2005), http:\/\/javapathfinder.sourceforge.net\/"},{"key":"32_CR10","doi-asserted-by":"crossref","unstructured":"Lamport, L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Transactions on Computers\u00a028(9) (1979)","DOI":"10.1109\/TC.1979.1675439"},{"key":"32_CR11","unstructured":"Lea, D.: The JSR-133 cookbook for compiler writers, http:\/\/gee.cs.oswego.edu\/dl\/jmm\/cookbook.html"},{"key":"32_CR12","unstructured":"Manson, J., Pugh, W.: The Java Memory Model Simulator. In: Workshop on Formal Techniques for Java-like Programs, in association with ECOOP (2002)"},{"key":"32_CR13","doi-asserted-by":"crossref","unstructured":"Manson, J., Pugh, W., Adve, S.: The Java Memory Model. In: ACM Symposium on Principles of Programming Languages (POPL) (2005)","DOI":"10.1145\/1040305.1040336"},{"key":"32_CR14","unstructured":"Microsoft. Standard ECMA-335 C# Specification (2005), http:\/\/www.ecma-international.org\/publications\/files\/ECMA-ST\/Ecma-334.pdf"},{"key":"32_CR15","unstructured":"Microsoft. Standard ECMA-335 Common Language Infrastructure (CLI) (2005), http:\/\/www.ecma-international.org\/publications\/standards\/Ecma-335.htm"},{"key":"32_CR16","unstructured":"Morrison, V.: Dotnet discussion: The DOTNET Memory Model, http:\/\/discuss.develop.com\/archives\/wa.exe?A2=ind0203B&L=DOTNET&P=R375"},{"key":"32_CR17","doi-asserted-by":"crossref","unstructured":"Nalumusu, R., et al.: The \u201ctest model checking\u201d approach to the verification of memory models of multiprocessors. In: Computer Aided Verification (CAV) (1998)","DOI":"10.1007\/BFb0028767"},{"key":"32_CR18","doi-asserted-by":"crossref","unstructured":"Nipkow, T., et al.: Special issue on Java bytecode verification. Journal of Automated Reasoning (JAR)\u00a030(3\u20134) (2003)","DOI":"10.1023\/A:1025086804452"},{"key":"32_CR19","unstructured":"Pugh, W.: Test for sequential consistency of volatiles, http:\/\/www.cs.umd.edu\/pugh\/java\/memoryModel\/ReadAfterWrite.java"},{"key":"32_CR20","volume-title":"Algorithms for mutual exclusion","author":"M. Raynal","year":"1986","unstructured":"Raynal, M.: Algorithms for mutual exclusion. MIT Press, Cambridge (1986)"},{"key":"32_CR21","doi-asserted-by":"crossref","unstructured":"Roychoudhury, A., Mitra, T.: Specifying multithreaded Java semantics for program verification. In: ACM Intl. Conf. on Software Engineering (ICSE) (2002)","DOI":"10.1145\/581396.581399"},{"key":"32_CR22","unstructured":"Schmidt, D., Harrison, T.: Double-checked locking: An optimization pattern for efficiently initializing and accessing thread-safe objects. In: 3rd annual Pattern Languages of Program Design conference (1996)"},{"key":"32_CR23","doi-asserted-by":"crossref","unstructured":"Stark, R.F., Borger, E.: An ASM specification of C# threads and the.NET memory model. In: ASM Workshop. LNCS, vol. 3065 (2004)","DOI":"10.1007\/978-3-540-24773-9_4"},{"key":"32_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"30","DOI":"10.1007\/978-3-540-30482-1_11","volume-title":"Formal Methods and Software Engineering","author":"Y. Yang","year":"2004","unstructured":"Yang, Y., Gopalakrishnan, G., Lindstrom, G.: Memory model sensitive data race analysis. In: Davies, J., Schulte, W., Barnett, M. (eds.) ICFEM 2004. LNCS, vol.\u00a03308, pp. 30\u201345. Springer, Heidelberg (2004)"}],"container-title":["Lecture Notes in Computer Science","FM 2006: Formal Methods"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/11813040_32.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,11,17]],"date-time":"2020-11-17T20:14:25Z","timestamp":1605644065000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/11813040_32"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006]]},"ISBN":["9783540372158","9783540372165"],"references-count":24,"URL":"https:\/\/doi.org\/10.1007\/11813040_32","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2006]]}}}