{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:38:15Z","timestamp":1750307895700,"version":"3.41.0"},"reference-count":30,"publisher":"Association for Computing Machinery (ACM)","issue":"5","license":[{"start":{"date-parts":[[2008,8,1]],"date-time":"2008-08-01T00:00:00Z","timestamp":1217548800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"KAKENHAI","award":["2.07E+14"],"award-info":[{"award-number":["2.07E+14"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Program. Lang. Syst."],"published-print":{"date-parts":[[2008,8]]},"abstract":"<jats:p>This article presents a static system for checking determinism (technically, partial confluence) of communicating concurrent processes. Our approach automatically detects partial confluence in programs communicating via a mix of different kinds of communication methods: rendezvous channels, buffered channels, broadcast channels, and reference cells. Our system reduces the partial confluence checking problem in polynomial time (in the size of the program) to the problem of solving a system of rational linear inequalities, and is thus efficient.<\/jats:p>","DOI":"10.1145\/1387673.1387676","type":"journal-article","created":{"date-parts":[[2008,9,4]],"date-time":"2008-09-04T12:51:35Z","timestamp":1220532695000},"page":"1-30","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":20,"title":["A capability calculus for concurrency and determinism"],"prefix":"10.1145","volume":"30","author":[{"given":"Tachio","family":"Terauchi","sequence":"first","affiliation":[{"name":"Tohoku University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alex","family":"Aiken","sequence":"additional","affiliation":[{"name":"Stanford University"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2008,9,4]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/268946.268974"},{"volume-title":"Proceedings of the 14th International Conference on Computer Aided Verification. 596--609","author":"Blom S.","key":"e_1_2_1_2_1"},{"key":"e_1_2_1_3_1","unstructured":"Boudol G. 1992. Asynchrony and the pi-calculus. Tech. rep. 1702 INRIA Sophia Antipolis.  Boudol G. 1992. Asynchrony and the pi-calculus. Tech. rep. 1702 INRIA Sophia Antipolis."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.5555\/1760267.1760273"},{"volume-title":"Proceedings of the 7th International Symposium on Advanced Research in Asynchronous Circuits and Systems (ASYNC'01)","author":"Coates W. S.","key":"e_1_2_1_5_1"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/292540.292564"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378811"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086228.1086277"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512531"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0304-3975(02)00333-X"},{"key":"e_1_2_1_11_1","doi-asserted-by":"crossref","unstructured":"Gordon A. D. and Jeffrey A. 2002. Types and Effects for Asymmetric Cryptographic Protocols. IEEE Computer Society.  Gordon A. D. and Jeffrey A. 2002. Types and Effects for Asymmetric Cryptographic Protocols. IEEE Computer Society.","DOI":"10.1007\/3-540-45694-5_7"},{"volume-title":"Proceedings of 25th International Symposium on the Mathematical Foundations of Computer Science. 383--393","author":"Groote J. F.","key":"e_1_2_1_12_1"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/11817949_13"},{"volume-title":"Proceedings of the European Conference on Object-Oriented Programming Workshop on Object-Based Concurrent Computing. Springer-Verlag, 21--51","author":"Honda K.","key":"e_1_2_1_14_1"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0304-3975(03)00325-6"},{"key":"e_1_2_1_16_1","unstructured":"Kahn G. 1974. The semantics of a simple language for parallel programming In Information Processing. Stockholm Sweden 471--475.  Kahn G. 1974. The semantics of a simple language for parallel programming In Information Processing. Stockholm Sweden 471--475."},{"key":"e_1_2_1_17_1","unstructured":"Kobayashi N. 2007. Personal communication.  Kobayashi N. 2007. Personal communication."},{"volume-title":"Proceedings of the 2nd International Symposium on Static Analysis. Glasgow, Scotland, 225--242","author":"Kobayashi N.","key":"e_1_2_1_18_1"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/330249.330251"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.5555\/646253.683925"},{"key":"e_1_2_1_21_1","unstructured":"Lee E. A. 2006. The problem with threads. Tech. rep. UCB\/EECS-2006-1 EECS Department University of California Berkeley.  Lee E. A. 2006. The problem with threads. Tech. rep. UCB\/EECS-2006-1 EECS Department University of California Berkeley."},{"key":"e_1_2_1_22_1","unstructured":"Megacz A. 2006. CCCD implementation. http:\/\/research.cs.berkeley.edu\/project\/cccd-impl\/README.  Megacz A. 2006. CCCD implementation. http:\/\/research.cs.berkeley.edu\/project\/cccd-impl\/README."},{"volume-title":"Proceedings of FMICS '97","author":"Nestmann U.","key":"e_1_2_1_23_1"},{"volume":"1782","volume-title":"Alias Types. In Proceedings of the 9th European Symposium on Programming, G. Smolka, Ed. Lecture Notes in Computer Science","author":"Smith F.","key":"e_1_2_1_24_1"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1095408.1095421"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086365.1086379"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1007\/11817949_15"},{"volume-title":"Proceedings of the International Workshop on Types in Compilation","author":"Walker D.","key":"e_1_2_1_28_1"},{"volume-title":"Proceedings of the 13th International Workshop on Expressiveness in Concurrency (EXPRESS'06)","author":"Wang X.","key":"e_1_2_1_29_1"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.ic.2003.08.004"}],"container-title":["ACM Transactions on Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1387673.1387676","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1387673.1387676","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T14:47:26Z","timestamp":1750258046000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1387673.1387676"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008,8]]},"references-count":30,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2008,8]]}},"alternative-id":["10.1145\/1387673.1387676"],"URL":"https:\/\/doi.org\/10.1145\/1387673.1387676","relation":{},"ISSN":["0164-0925","1558-4593"],"issn-type":[{"type":"print","value":"0164-0925"},{"type":"electronic","value":"1558-4593"}],"subject":[],"published":{"date-parts":[[2008,8]]},"assertion":[{"value":"2007-09-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2007-11-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2008-09-04","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}