Ownership Refinement Types for Pointer Arithmetic and Nested Arrays
Yusuke Fujiwara, Yusuke Matsushita, Kohei Suenaga, Atsushi Igarashi

TL;DR
This paper extends a fractional ownership type system to support nested arrays, enabling verification of complex data structures like matrices with pointer arithmetic.
Contribution
It generalizes ownership to handle nested arrays and proves the soundness of the extended type system, with an implementation demonstrating practical verification.
Findings
Successfully verified programs manipulating nested arrays.
Extended type system supports pointer arithmetic in complex data structures.
Proved soundness of the generalized ownership model.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
