Ownership Refinement Types for Pointer Arithmetic and Nested Arrays

📅 2026-04-24
📈 Citations: 0
Influential: 0
📄 PDF

career value

147K/year
🤖 AI Summary
Existing type systems struggle to verify functional correctness of programs involving nested arrays and pointer arithmetic. This work proposes a novel ownership-refined type system that, for the first time, extends ownership mechanisms supporting pointer arithmetic to nested array contexts. By associating fractional ownership with array indices and generalizing ownership concepts to encompass outer array dimensions, the system enables precise reasoning about complex memory layouts. Built upon the ConSORT framework, it integrates fractional ownership, index-dependent refinement types, and pointer arithmetic to formally specify and implement a verifier for nested array operations. Experimental results demonstrate successful verification of multiple sophisticated nested-array programs, highlighting a significant advance in both expressiveness and verification capability.

Technology Category

Application Category

📝 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.
Problem

Research questions and friction points this paper is trying to address.

nested arrays
pointer arithmetic
ownership types
refinement types
program verification
Innovation

Methods, ideas, or system contributions that make the work stand out.

nested arrays
ownership types
refinement types
pointer arithmetic
program verification