Master’s Thesis Presentation • Programming Languages • A Type System With Containers

Monday, September 20, 2021 10:00 am - 10:00 am EDT (GMT -04:00)

Please note: This master’s thesis presentation will be given online.

Michael Thode, Master’s candidate
David R. Cheriton School of Computer Science

Supervisor: Professor Ondřej Lhoták

In this presentation we will introduce the concept of containers as they apply to programming languages. Encapsulation is a common topic in programming language with well understood benefits. Here, we will investigate its opposite, namely containment. This includes a demonstration of how containers can be integrated into a programming language and what benefits they can bring. We show how containers can enable pass-by-value semantics, copying of complex objects and object serialization.

To demonstrate the feasibility of the ideas, we’ll also demonstrate a container inferencing algorithm to minimize the extra syntax needed for container specification. We’ll discuss the formal result showing the safety of a container type system. We show that correctly typed programs will obey all container restrictions at run-time. We show that as container labels are translated across scopes (e.g. a function call), the physical containers remain consistent.

To join this master’s thesis presentation on MS Teams, please go to