Behavioural Types for Memory and Method Safety in a Core Object-Oriented Language - Archive ouverte HAL Access content directly
Conference Papers Year :

Behavioural Types for Memory and Method Safety in a Core Object-Oriented Language

(1, 2) , (3) , (4) , (4) , (4) , (4) , (5)
1
2
3
4
5

Abstract

We present a type-based analysis ensuring memory safety and object protocol completion in the Java-like language Mungo. Objects are annotated with usages, typestates-like specifications of the admissible sequences of method calls. The analysis entwines usage checking, controlling the order in which methods are called, with a static check determining whether references may contain null values. It prevents null pointer dereferencing in a typestate-aware manner and memory leaks and ensures that the intended usage protocol of every object is respected and completed. The type system admits an algorithm that infers the most general usage with respect to a simulation preorder. The type system is implemented in the form of a type checker and a usage inference tool.
Fichier principal
Vignette du fichier
APLAS2020.pdf (507.69 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-03102375 , version 1 (07-01-2021)

Identifiers

  • HAL Id : hal-03102375 , version 1

Cite

Mario Bravetti, Adrian Francalanza, Iaroslav Golovanov, Hans Hüttel, Mathias S Jakobsen, et al.. Behavioural Types for Memory and Method Safety in a Core Object-Oriented Language. APLAS 2020 - 18th Asian Symposium on Programming Languages and Systems, Nov 2020, Fukuoka / Virtual, Japan. ⟨hal-03102375⟩
32 View
55 Download

Share

Gmail Facebook Twitter LinkedIn More