{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,7,8]],"date-time":"2024-07-08T11:19:22Z","timestamp":1720437562616},"reference-count":35,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2019,3,1]],"date-time":"2019-03-01T00:00:00Z","timestamp":1551398400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2023,3,1]],"date-time":"2023-03-01T00:00:00Z","timestamp":1677628800000},"content-version":"vor","delay-in-days":1461,"URL":"http:\/\/www.elsevier.com\/open-access\/userlicense\/1.0\/"},{"start":{"date-parts":[[2019,3,1]],"date-time":"2019-03-01T00:00:00Z","timestamp":1551398400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-017"},{"start":{"date-parts":[[2019,3,1]],"date-time":"2019-03-01T00:00:00Z","timestamp":1551398400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"},{"start":{"date-parts":[[2019,3,1]],"date-time":"2019-03-01T00:00:00Z","timestamp":1551398400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-012"},{"start":{"date-parts":[[2019,3,1]],"date-time":"2019-03-01T00:00:00Z","timestamp":1551398400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2019,3,1]],"date-time":"2019-03-01T00:00:00Z","timestamp":1551398400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-004"}],"funder":[{"name":"Universit\u00e0 del Piemonte Orientale"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Science of Computer Programming"],"published-print":{"date-parts":[[2019,3]]},"DOI":"10.1016\/j.scico.2018.11.007","type":"journal-article","created":{"date-parts":[[2018,12,3]],"date-time":"2018-12-03T16:55:30Z","timestamp":1543856130000},"page":"180-202","update-policy":"http:\/\/dx.doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":3,"special_numbering":"C","title":["Tracing sharing in an imperative pure calculus"],"prefix":"10.1016","volume":"172","author":[{"given":"Paola","family":"Giannini","sequence":"first","affiliation":[]},{"given":"Tim","family":"Richter","sequence":"additional","affiliation":[]},{"given":"Marco","family":"Servetto","sequence":"additional","affiliation":[]},{"ORCID":"http:\/\/orcid.org\/0000-0002-6833-6470","authenticated-orcid":false,"given":"Elena","family":"Zucca","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/j.scico.2018.11.007_br0010","series-title":"ECOOP'03 \u2013 Object-Oriented Programming","first-page":"176","article-title":"External uniqueness is unique enough","volume":"vol. 2473","author":"Clarke","year":"2003"},{"key":"10.1016\/j.scico.2018.11.007_br0020","series-title":"ECOOP'97 \u2013 Object-Oriented Programming","first-page":"32","article-title":"Balloon types: controlling sharing of state in data types","volume":"vol. 1241","author":"Almeida","year":"1997"},{"key":"10.1016\/j.scico.2018.11.007_br0030","series-title":"WODET 2014 \u2013 Workshop on Determinism and Correctness in Parallel Programming","article-title":"Balloon types for safe parallelisation over arbitrary object graphs","author":"Servetto","year":"2013"},{"key":"10.1016\/j.scico.2018.11.007_br0040","series-title":"ACM Symp. on Object-Oriented Programming: Systems, Languages and Applications 1991","first-page":"271","article-title":"Islands: aliasing protection in object-oriented languages","author":"Hogg","year":"1991"},{"key":"10.1016\/j.scico.2018.11.007_br0050","series-title":"ECOOP'07 \u2013 Object-Oriented Programming","first-page":"28","article-title":"Generic universe types","volume":"vol. 4609","author":"Dietl","year":"2007"},{"key":"10.1016\/j.scico.2018.11.007_br0060","series-title":"ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2012)","first-page":"21","article-title":"Uniqueness and reference immutability for safe parallelism","author":"Gordon","year":"2012"},{"key":"10.1016\/j.scico.2018.11.007_br0070","series-title":"Programming Languages and Systems \u2013 13th Asian Symposium (APLAS)","first-page":"208","article-title":"Aliasing control in an imperative pure calculus","volume":"vol. 9458","author":"Servetto","year":"2015"},{"key":"10.1016\/j.scico.2018.11.007_br0080","series-title":"ICTCS'16 \u2013 Italian Conf. on Theoretical Computer Science, vol. 1720 of CEUR Workshop Proceedings, CEUR-WS.org","first-page":"62","article-title":"Types for immutability and aliasing control","author":"Giannini","year":"2016"},{"issue":"6","key":"10.1016\/j.scico.2018.11.007_br0090","doi-asserted-by":"crossref","first-page":"533","DOI":"10.1002\/spe.370","article-title":"Alias burying: unique variables without destructive reads","volume":"31","author":"Boyland","year":"2001","journal-title":"Softw. Pract. Exp."},{"key":"10.1016\/j.scico.2018.11.007_br0100","series-title":"ACM Symp. on Principles of Programming Languages 2012","first-page":"557","article-title":"A type system for borrowing permissions","author":"Naden","year":"2012"},{"key":"10.1016\/j.scico.2018.11.007_br0110","series-title":"ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2010)","first-page":"598","article-title":"Ownership and immutability in Generic Java","author":"Zibin","year":"2010"},{"key":"10.1016\/j.scico.2018.11.007_br0120","series-title":"OOPS'17 \u2013 Object-Oriented Programming Languages and Systems, Track at SAC'17 \u2013 ACM Symp. on Applied Computing","first-page":"1513","article-title":"A type and effect system for sharing","author":"Giannini","year":"2017"},{"key":"10.1016\/j.scico.2018.11.007_br0130","series-title":"FTfJP'17 \u2013 Formal Techniques for Java-like Programs","article-title":"Tracing sharing in an imperative pure calculus: extended abstract","author":"Giannini","year":"2017"},{"issue":"3","key":"10.1016\/j.scico.2018.11.007_br0140","doi-asserted-by":"crossref","first-page":"396","DOI":"10.1145\/503502.503505","article-title":"Featherweight Java: a minimal core calculus for Java and GJ","volume":"23","author":"Igarashi","year":"2001","journal-title":"ACM Trans. Program. Lang. Syst."},{"issue":"3","key":"10.1016\/j.scico.2018.11.007_br0150","doi-asserted-by":"crossref","first-page":"265","DOI":"10.1017\/S0956796897002724","article-title":"The call-by-need lambda calculus","volume":"7","author":"Ariola","year":"1997","journal-title":"J. Funct. Program."},{"issue":"3","key":"10.1016\/j.scico.2018.11.007_br0160","doi-asserted-by":"crossref","first-page":"275","DOI":"10.1017\/S0956796898003037","article-title":"The call-by-need lambda calculus","volume":"8","author":"Maraist","year":"1998","journal-title":"J. Funct. Program."},{"key":"10.1016\/j.scico.2018.11.007_br0170","series-title":"Communicating and Mobile Systems: The Pi-Calculus","author":"Milner","year":"1999"},{"key":"10.1016\/j.scico.2018.11.007_br0180","series-title":"ECOOP'13 - Object-Oriented Programming","first-page":"205","article-title":"The billion-dollar fix \u2013 safe modular circular initialisation with placeholders and placeholder types","volume":"vol. 7920","author":"Servetto","year":"2013"},{"issue":"6","key":"10.1016\/j.scico.2018.11.007_br0190","doi-asserted-by":"crossref","DOI":"10.1145\/1749608.1749611","article-title":"Semantics of fractional permissions with nesting","volume":"32","author":"Boyland","year":"2010","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"10.1016\/j.scico.2018.11.007_br0200","series-title":"ECOOP'10 \u2013 Object-Oriented Programming","first-page":"354","article-title":"Capabilities for uniqueness and borrowing","volume":"vol. 6183","author":"Haller","year":"2010"},{"key":"10.1016\/j.scico.2018.11.007_br0210","series-title":"ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2016)","first-page":"272","article-title":"Lacasa: lightweight affinity and object capabilities in scala","author":"Haller","year":"2016"},{"key":"10.1016\/j.scico.2018.11.007_br0220","series-title":"International Workshop on Programming Based on Actors, Agents, and Decentralized Control, AGERE! 2015","first-page":"1","article-title":"Deny capabilities for safe, fast actors","author":"Clebsch","year":"2015"},{"key":"10.1016\/j.scico.2018.11.007_br0230","series-title":"ECOOP'16 \u2013 Object-Oriented Programming","article-title":"Reference capabilities for concurrency control","volume":"vol. 56","author":"Castegren","year":"2016"},{"key":"10.1016\/j.scico.2018.11.007_br0240","series-title":"ECOOP'17 \u2013 Object-Oriented Programming, vol. 74, LIPIcs","article-title":"Relaxed linear references for lock-free data structures","author":"Castegren","year":"2017"},{"key":"10.1016\/j.scico.2018.11.007_br0250","series-title":"Aliasing in Object-Oriented Programming. Types, Analysis and Verification","first-page":"15","article-title":"Ownership types: a survey","volume":"vol. 7850","author":"Clarke","year":"2013"},{"key":"10.1016\/j.scico.2018.11.007_br0260","series-title":"ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2007)","first-page":"461","article-title":"Ownership transfer in universe types","author":"M\u00fcller","year":"2007"},{"key":"10.1016\/j.scico.2018.11.007_br0270","series-title":"Proc. IEEE Symp. on Logic in Computer Science 2002","first-page":"55","article-title":"Separation logic: a logic for shared mutable data structures","author":"Reynolds","year":"2002"},{"key":"10.1016\/j.scico.2018.11.007_br0280","series-title":"ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2009)","first-page":"97","article-title":"A type and effect system for deterministic parallel Java","author":"Jr.","year":"2009"},{"key":"10.1016\/j.scico.2018.11.007_br0290","series-title":"ACM Symp. on Principles of Programming Languages 2017","first-page":"2","article-title":"Rust: from POPL to practice (keynote)","author":"Turon","year":"2017"},{"key":"10.1016\/j.scico.2018.11.007_br0300","series-title":"Compiler Construction \u2013 CC'96","first-page":"136","article-title":"Points-to analysis by type inference of programs with structures and unions","volume":"vol. 1060","author":"Steensgaard","year":"1996"},{"key":"10.1016\/j.scico.2018.11.007_br0310","series-title":"ECOOP'12 \u2013 Object-Oriented Programming","first-page":"665","article-title":"Scalable flow-sensitive pointer analysis for Java with strong updates","volume":"vol. 7313","author":"De","year":"2012"},{"key":"10.1016\/j.scico.2018.11.007_br0320","unstructured":"M. Servetto, L. Groves, True small-step reduction for imperative object-oriented languages, FTfJP'13- Formal Techniques for Java-like Programs."},{"key":"10.1016\/j.scico.2018.11.007_br0330","doi-asserted-by":"crossref","first-page":"87","DOI":"10.1016\/j.entcs.2016.03.007","article-title":"An imperative pure calculus","volume":"322","author":"Capriccioli","year":"2016","journal-title":"Electron. Notes Theor. Comput. Sci."},{"key":"10.1016\/j.scico.2018.11.007_br0340","series-title":"ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2001)","first-page":"16","article-title":"A core calculus for java exceptions","author":"Ancona","year":"2001"},{"key":"10.1016\/j.scico.2018.11.007_br0350","series-title":"OOPS'18 \u2013 Object-Oriented Programming Languages and Systems, Track at SAC'18 \u2013 ACM Symp. on Applied Computing","first-page":"1038","article-title":"A type and effect system for uniqueness and immutability","author":"Giannini","year":"2018"}],"container-title":["Science of Computer Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0167642318304337?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0167642318304337?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2024,4,6]],"date-time":"2024-04-06T01:11:45Z","timestamp":1712365905000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0167642318304337"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,3]]},"references-count":35,"alternative-id":["S0167642318304337"],"URL":"https:\/\/doi.org\/10.1016\/j.scico.2018.11.007","relation":{},"ISSN":["0167-6423"],"issn-type":[{"value":"0167-6423","type":"print"}],"subject":[],"published":{"date-parts":[[2019,3]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Tracing sharing in an imperative pure calculus","name":"articletitle","label":"Article Title"},{"value":"Science of Computer Programming","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.scico.2018.11.007","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"\u00a9 2018 Elsevier B.V.","name":"copyright","label":"Copyright"}]}}