English

Ownership Refinement Types for Pointer Arithmetic and Nested Arrays

Programming Languages 2026-04-27 v1

Abstract

Tanaka et al. proposed a type system for verifying functional correctness properties of programs that use arrays and pointer arithmetic. Their system extends ConSORT -- a type system combining fractional ownership and refinement types for imperative program verification -- with support for pointer arithmetic. Their idea was to extend fractional ownership so that it can depend on an array index. Their formulation, however, does not handle nested arrays, which are essential for representing practical data structures such as matrices. We extend Tanaka et al.'s type system to support nested arrays by generalizing the notion of ownership to be able to refer to the indices of the outer arrays and prove the soundness of the extended type system. We have implemented a verifier based on the proposed type system and demonstrated that it can verify the correctness of programs that manipulate nested arrays, which were beyond the reach of Tanaka et al.

Keywords

Cite

@article{arxiv.2604.22361,
  title  = {Ownership Refinement Types for Pointer Arithmetic and Nested Arrays},
  author = {Yusuke Fujiwara and Yusuke Matsushita and Kohei Suenaga and Atsushi Igarashi},
  journal= {arXiv preprint arXiv:2604.22361},
  year   = {2026}
}

Comments

Extended version of our ECOOP 2026 paper of the same title

R2 v1 2026-07-01T12:33:33.562Z