Proceedings chapter
English

A practical type system for safe aliasing

Presented atBoston (MA, USA), October 2018
PublisherACM Press
Publication date2018
Abstract

Aliasing is a vital concept of programming, but it comes with a plethora of challenging issues, such as the problems related to race safety. This has motivated years of research, and promising solutions such as ownership or linear types have found their way into modern programming languages. Unfortunately, most current approaches are restrictive. In particular, they often enforce a single-writer constraint, which prohibits the creation of mutable self-referential structures. While this constraint is often indispensable in the context of preemptive multithreading, it can be worked around in the case of single threaded programs. With the recent resurgence of cooperative multitasking, where processes voluntarily share control over a single execution thread, this appears to be interesting trade-off. In this paper, we propose a type system that relaxes the usual single-writer constraint for single threaded programs, without sacrificing race safety properties. We present it in the form of a simple reference-based language, for which we provide a formal semantics, as well as an interpreter.

Keywords
  • Aliasing
  • Immutability
  • Memory safety
  • Type capabilities
Citation (ISO format)
RACORDON, Dimitri, BUCHS, Didier. A practical type system for safe aliasing. In: Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2018. Boston (MA, USA). [s.l.] : ACM Press, 2018. p. 133–146. doi: 10.1145/3276604.3276612
Main files (1)
Proceedings chapter (Published version)
accessLevelRestricted
Identifiers
Additional URL for this publicationhttp://dl.acm.org/citation.cfm?doid=3276604.3276612
ISBN978-1-4503-6029-6
294views
1downloads

Technical informations

Creation01/07/2020 14:57:00
First validation01/07/2020 14:57:00
Update15/03/2023 22:13:25
Status update15/03/2023 22:13:24
Last indexation31/10/2024 19:06:12
All rights reserved by Archive ouverte UNIGE and the University of GenevaunigeBlack