pith. sign in

arxiv: 2205.05181 · v1 · pith:EU4AYV5Qnew · submitted 2022-05-10 · 💻 cs.PL

The Move Borrow Checker

classification 💻 cs.PL
keywords memorymoveabsenceanalysisreferencessafetylanguageprograms
0
0 comments X
read the original abstract

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.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Forward citations

Cited by 1 Pith paper

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score.

  1. Defense-in-Depth Runtime Safety in Move

    cs.PL 2026-06 unverdicted novelty 2.0

    Aptos adds independent runtime checks to Move bytecode execution as defense-in-depth against potential static verifier bugs.