English

ConSORT: Context- and Flow-Sensitive Ownership Refinement Types for Imperative Programs

Programming Languages 2020-02-19 v1

Abstract

We present ConSORT, a type system for safety verification in the presence of mutability and aliasing. Mutability requires strong updates to model changing invariants during program execution, but aliasing between pointers makes it difficult to determine which invariants must be updated in response to mutation. Our type system addresses this difficulty with a novel combination of refinement types and fractional ownership types. Fractional ownership types provide flow-sensitive and precise aliasing information for reference variables. ConSORT interprets this ownership information to soundly handle strong updates of potentially aliased references. We have proved ConSORT sound and implemented a prototype, fully automated inference tool. We evaluated our tool and found it verifies non-trivial programs including data structure implementations.

Keywords

Cite

@article{arxiv.2002.07770,
  title  = {ConSORT: Context- and Flow-Sensitive Ownership Refinement Types for Imperative Programs},
  author = {John Toman and Ren Siqi and Kohei Suenaga and Atsushi Igarashi and Naoki Kobayashi},
  journal= {arXiv preprint arXiv:2002.07770},
  year   = {2020}
}
R2 v1 2026-06-23T13:45:48.873Z