License
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2018.25
URN: urn:nbn:de:0030-drops-92303
URL: http://drops.dagstuhl.de/opus/volltexte/2018/9230/
Go to the corresponding LIPIcs Volume Portal


Milanova, Ana

Definite Reference Mutability

pdf-format:
LIPIcs-ECOOP-2018-25.pdf (0.7 MB)


Abstract

Reference immutability type systems such as Javari and ReIm ensure that a given reference cannot be used to mutate the referenced object. These systems are conservative in the sense that a mutable reference may be mutable due to approximation. In this paper, we present ReM (for definite Re[ference] M[utability]). It separates mutable references into (1) definitely mutable, and (2) maybe mutable, i.e., references whose mutability is due to inherent approximation. In addition, we propose a CFL-reachability system for reference immutability, and prove that it is equivalent to ReIm/ReM, thus building a novel framework for reasoning about correctness of reference immutability type systems. We have implemented ReM and applied it on a large benchmark suite. Our results show that approximately 86.5% of all mutable references are definitely mutable.

BibTeX - Entry

@InProceedings{milanova:LIPIcs:2018:9230,
  author =	{Ana Milanova},
  title =	{{Definite Reference Mutability}},
  booktitle =	{32nd European Conference on Object-Oriented Programming  (ECOOP 2018)},
  pages =	{25:1--25:30},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-079-8},
  ISSN =	{1868-8969},
  year =	{2018},
  volume =	{109},
  editor =	{Todd Millstein},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2018/9230},
  URN =		{urn:nbn:de:0030-drops-92303},
  doi =		{10.4230/LIPIcs.ECOOP.2018.25},
  annote =	{Keywords: reference immutability, type inference, CFL-reachability, precision}
}

Keywords: reference immutability, type inference, CFL-reachability, precision
Seminar: 32nd European Conference on Object-Oriented Programming (ECOOP 2018)
Issue Date: 2018
Date of publication: 05.07.2018


DROPS-Home | Imprint | Privacy Published by LZI