@inproceedings(AhernY05, author = {Alexander Joseph Ahern and Nobuko Yoshida}, year = {2005}, title = {Formalising Java {RMI} with explicit code mobility}, editor = {Ralph E. Johnson and Richard P. Gabriel}, booktitle = {ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2005)}, publisher = {ACM Press}, pages = {403--422}, doi = {10.1145/1094811.1094843}, ) @inproceedings(Almeida97, author = {Paulo S{\'{e}}rgio Almeida}, year = {1997}, title = {Balloon Types: Controlling Sharing of State in Data Types}, booktitle = {ECOOP'97 - Object-Oriented Programming}, series = {Lecture Notes in Computer Science}, volume = {1241}, publisher = {Springer}, pages = {32--59}, doi = {10.1007/BFb0053373}, ) @article(AriolaBlom02, author = {Zena M. Ariola and Stefan Blom}, year = {2002}, title = {Skew confluence and the lambda calculus with letrec}, journal = {Ann. Pure Appl. Logic}, volume = {117}, number = {1-3}, pages = {95--168}, doi = {10.1016/S0168-0072(01)00104-X}, ) @article(AriolaFelleisen97, author = {Zena M. Ariola and Matthias Felleisen}, year = {1997}, journal = {Journ. of Functional Programming}, volume = {7}, number = {3}, pages = {265--301}, doi = {10.1017/S0956796897002724}, ) @techreport(BettiniDS10, author = {Lorenzo Bettini and Ferruccio Damiani and Ina Sch\"afer}, year = {2010}, title = {{IFJ}: a minimal imperative variant of {FJ}}, type = {Technical Report}, number = {133/2010}, institution = {Dipartimento di Informatica, Universit\`a di Torino}, ) @article(BiermanP03, author = {Gavin M. Bierman and Matthew J. Parkinson}, year = {2003}, title = {Effects and effect inference for a core Java calculus}, journal = {Electr. Notes Theor. Comput. Sci.}, volume = {82}, number = {7}, pages = {82--107}, doi = {10.1016/S1571-0661(04)80803-X}, ) @article(Boyland01, author = {John Boyland}, year = {2001}, title = {Alias Burying: Unique Variables Without Destructive Reads}, journal = {Softw. Pract. Exper.}, volume = {31}, number = {6}, pages = {533--553}, doi = {10.1002/spe.370}, ) @article(Boyland10, author = {John Boyland}, year = {2010}, title = {Semantics of Fractional Permissions with Nesting}, journal = {ACM Transactions on Programming Languages and Systems}, volume = {32}, number = {6}, doi = {10.1145/1749608.1749611}, ) @article(CapriccioliSZ15, author = {Andrea Capriccioli and Marco Servetto and Elena Zucca}, year = {2016}, title = {An imperative pure calculus}, journal = {Electronic Notes in Theoretical Computer Science}, volume = {322}, pages = {87--102}, doi = {10.1016/j.entcs.2016.03.007}, ) @incollection(ClarkeEtAl13, author = {Dave Clarke and Johan {\"{O}}stlund and Ilya Sergey and Tobias Wrigstad}, year = {2013}, title = {Ownership Types: {A} Survey}, editor = {Dave Clarke and James Noble and Tobias Wrigstad}, booktitle = {Aliasing in Object-Oriented Programming. Types, Analysis and Verification}, series = {Lecture Notes in Computer Science}, volume = {7850}, publisher = {Springer}, pages = {15--58}, doi = {10.1007/978-3-642-36946-9-3}, ) @inproceedings(ClarkeWrigstad03, author = {David Clarke and Tobias Wrigstad}, year = {2003}, title = {External Uniqueness is Unique Enough}, editor = {Luca Cardelli}, booktitle = {ECOOP'03 - Object-Oriented Programming}, series = {Lecture Notes in Computer Science}, volume = {2473}, publisher = {Springer}, pages = {176--200}, doi = {10.1006/inco.1996.2613}, ) @inproceedings(ClebschEtAl15, author = {Sylvan Clebsch and Sophia Drossopoulou and Sebastian Blessing and Andy McNeil}, year = {2015}, title = {Deny capabilities for safe, fast actors}, editor = {Elisa Gonzalez Boix and Philipp Haller and Alessandro Ricci and Carlos Varela}, booktitle = {International Workshop on Programming Based on Actors, Agents, and Decentralized Control, AGERE! 2015}, publisher = {ACM Press}, pages = {1--12}, doi = {10.1145/2824815.2824816}, ) @inproceedings(DietlEtAl07, author = {Werner Dietl and Sophia Drossopoulou and Peter M{\"u}ller}, year = {2007}, title = {Generic Universe Types}, editor = {Erik Ernst}, booktitle = {ECOOP'07 - Object-Oriented Programming}, series = {Lecture Notes in Computer Science}, volume = {4609}, publisher = {Springer}, pages = {28--53}, doi = {10.1007/BFb0054091}, ) @article(GianniniRSZ19a, author = {Paola Giannini and Tim Richter and Marco Servetto and Elena Zucca}, year = {2019}, title = {Tracing sharing in an imperative pure calculus}, journal = {Science of Computer Programming}, volume = {172}, pages = {180 -- 202}, doi = {10.1016/j.scico.2018.11.007}, ) @inproceedings(GianniniSZ16, author = {Paola Giannini and Marco Servetto and Elena Zucca}, year = {2016}, title = {Types for Immutability and Aliasing Control}, booktitle = {ICTCS'16 - Italian Conf. on Theoretical Computer Science}, series = {{CEUR} Workshop Proceedings}, volume = {1720}, publisher = {CEUR-WS.org}, pages = {62--74}, doi = {10.1145/2824815.2824816}, ) @inproceedings(GianniniSZ17a, author = {Paola Giannini and Marco Servetto and Elena Zucca}, year = {2017}, title = {Tracing sharing in an imperative pure calculus: extended abstract}, booktitle = {FTfJP'17 - Formal Techniques for Java-like Programs}, publisher = {ACM Press}, pages = {6:1--6:6}, doi = {10.1145/3103111.3104038}, ) @inproceedings(GianniniSZ17, author = {Paola Giannini and Marco Servetto and Elena Zucca}, year = {2017}, title = {A type and effect system for sharing}, editor = {Ahmed Seffah and Birgit Penzenstadler and Carina Alves and Xin Peng}, booktitle = {OOPS'17 - Object-Oriented Programming Languages and Systems, Track at SAC'17 - ACM Symp. on Applied Computing}, publisher = {ACM Press}, pages = {1513--1515}, doi = {10.1145/3019612.3019890}, ) @inproceedings(GianniniSZ18, author = {Paola Giannini and Marco Servetto and Elena Zucca}, year = {2018}, title = {A type and effect system for uniqueness and immutability}, editor = {Hisham M. Haddad and Roger L. Wainwright and Richard Chbeir}, booktitle = {OOPS'18 - Object-Oriented Programming Languages and Systems, Track at SAC'18 - ACM Symp. on Applied Computing}, publisher = {ACM Press}, pages = {1038--1045}, doi = {10.1145/3167132.3167245}, ) @article(GianniniSZC19b, author = {Paola Giannini and Marco Servetto and Elena Zucca and James Cone}, year = {2019}, title = {Flexible recovery of uniqueness and immutability}, journal = {Theoretical Computer Science}, volume = {764}, pages = {145 -- 172}, doi = {10.1016/j.tcs.2018.09.001}, ) @inproceedings(GordonEtAl12, author = {Colin S. Gordon and Matthew J. Parkinson and Jared Parsons and Aleks Bromfield and Joe Duffy}, year = {2012}, title = {Uniqueness and reference immutability for safe parallelism}, editor = {Gary T. Leavens and Matthew B. Dwyer}, booktitle = {ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2012)}, publisher = {ACM Press}, pages = {21--40}, doi = {10.1145/2398857.2384619}, ) @inproceedings(Hogg91, author = {John Hogg}, year = {1991}, title = {Islands: Aliasing Protection in Object-oriented Languages}, editor = {Andreas Paepcke}, booktitle = {ACM Symp. on Object-Oriented Programming: Systems, Languages and Applications 1991}, publisher = {ACM Press}, pages = {271--285}, doi = {10.1145/118014.117975}, ) @article(IgarashiEtAl01, author = {Atsushi Igarashi and Benjamin C. Pierce and Philip Wadler}, year = {2001}, title = {Featherweight {J}ava: a minimal core calculus for {J}ava and {GJ}}, journal = {ACM Transactions on Programming Languages and Systems}, volume = {23}, number = {3}, pages = {396--450}, doi = {10.1145/503502.503505}, ) @article(MaraistEtAl98, author = {John Maraist and Martin Odersky and Philip Wadler}, year = {1998}, title = {The Call-by-Need Lambda Calculus}, journal = {Journ. of Functional Programming}, volume = {8}, number = {3}, pages = {275--317}, doi = {10.1017/S0956796898003037}, ) @book(Milner99, author = {Robin Milner}, year = {1999}, title = {Communicating and mobile systems - the Pi-calculus}, publisher = {Cambridge University Press}, doi = {10.1017/S0956796898003037}, ) @inproceedings(NadenEtAl12, author = {Karl Naden and Robert Bocchino and Jonathan Aldrich and Kevin Bierhoff}, year = {2012}, title = {A type system for borrowing permissions}, booktitle = {ACM Symp. on Principles of Programming Languages 2012}, publisher = {ACM Press}, pages = {557--570}, doi = {10.1145/2103656.2103722}, ) @article(ServettoLindsay13, author = {Marco Servetto and Lindsay Groves}, year = {2013}, title = {True small-step reduction for imperative object-oriented languages}, journal = {FTfJP'13- Formal Techniques for Java-like Programs}, doi = {10.1145/2489804.2489805}, ) @inproceedings(ServettoZucca15, author = {Marco Servetto and Elena Zucca}, year = {2015}, title = {Aliasing Control in an Imperative Pure Calculus}, editor = {Xinyu Feng and Sungwoo Park}, booktitle = {Programming Languages and Systems - 13th Asian Symposium (APLAS)}, series = {Lecture Notes in Computer Science}, volume = {9458}, publisher = {Springer}, pages = {208--228}, doi = {10.1007/978-3-319-26529-2_12}, ) @inproceedings(Turon17, author = {Aaron Turon}, year = {2017}, title = {Rust: from {POPL} to practice (keynote)}, editor = {Giuseppe Castagna and Andrew D. Gordon}, booktitle = {ACM Symp. on Principles of Programming Languages 2017}, publisher = {ACM Press}, pages = {2}, doi = {10.1145/3009837.3011999}, ) @inproceedings(ZibinEtAl10, author = {Yoav Zibin and Alex Potanin and Paley Li and Mahmood Ali and Michael D. Ernst}, year = {2010}, title = {Ownership and immutability in generic {J}ava}, booktitle = {ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2010)}, pages = {598--617}, doi = {10.1145/1869459.1869509}, )