The Move Borrow Checker

05/10/2022
by   Sam Blackshear, et al.
0

The Move language provides abstractions for programming with digital assets via a mix of value semantics and reference semantics. Ensuring memory safety in programs with references that access a shared, mutable global ledger is difficult, yet essential for the use-cases targeted by Move. The language meets this challenge with a novel memory model and a modular, intraprocedural static reference safety analysis that leverages key properties of the memory. The analysis ensures the absence of memory safety violations in all Move programs (including ones that link against untrusted code) by running as part of a load-time bytecode verification pass similar to the JVM [12] and CLR [15]. We formalize the static analysis and prove that it enjoys three desirable properties: absence of dangling references, referential transparency for immutable references, and absence of memory leaks.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/28/2020

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

We present a type-based analysis ensuring memory safety and object proto...
research
06/23/2021

Native Implementation of Mutable Value Semantics

Unrestricted mutation of shared state is a source of many well-known pro...
research
05/02/2022

Rusty Links in Local Chains

Rust successfully applies ownership types to control memory allocation. ...
research
07/04/2018

A diachronic study of historiography

The humanities are often characterized by sociologists as having a low m...
research
03/02/2021

Implementing G-Machine in HyperLMNtal

Since language processing systems generally allocate/discard memory with...
research
11/19/2015

Communicating Semantics: Reference by Description

Messages often refer to entities such as people, places and events. Corr...
research
05/26/2020

Understanding Lua's Garbage Collection – Towards a Formalized Static Analyzer

We provide the semantics of garbage collection (GC) for the Lua programm...

Please sign up or login with your details

Forgot password? Click here to reset