Kukicha -- Efficient Yet Powerful Refinement Types for Object-Oriented Languages

Refinement type systems allow programmers to use logical conditions to constrain variable values. However, most practical refinement type systems limit their expressiveness to remain automatically decidable. Deductive verification, on the other hand, can prove more complex properties but requires more time and expertise. To combine the advantages of both approaches, we introduce Kukicha, a refinement type framework for object-oriented languages based on the cooperation of type checkers and deductive verification tools. Kukicha first performs an efficient syntactic well-typedness check. If this does not succeed, it uses a deductive verifier to prove exactly those specifications that could not be shown by the type checker, while being able to assume the rest. Unlike previous similar approaches, Kukicha supports mutable objects with strong updates, since it combines the refinement type system with uniqueness types to track aliasing and packing types to track temporary violations. We prove Kukicha’s soundness for an abstract object-oriented language and implement it for Java based on the Checker Framework, and the deductive verification tools KeY and Verifast. We evaluate our implementation by verifying the correctness of an example program and showing that Kukicha reduced the verification overhead needed for verification with KeY and Verifast.

Authors

Institutions

Publication Details

Journal
Formal Aspects of Computing
Published
2026-10-05
DOI
https://doi.org/10.1145/3849492
Primary Topic
Logic, programming, and type systems
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Kukicha -- Efficient Yet Powerful Refinement Types for Object-Oriented Languages

Florian Lanzinger, Mattias Ulbrich, Werner Dietl, Joshua Bachmeier
Formal Aspects of Computing
Logic, programming, and type systems
article

Kukicha -- Efficient Yet Powerful Refinement Types for Object-Oriented Languages

Florian Lanzinger, Mattias Ulbrich, Werner Dietl, Joshua Bachmeier
article en

Abstract

Refinement type systems allow programmers to use logical conditions to constrain variable values. However, most practical refinement type systems limit their expressiveness to remain automatically decidable. Deductive verification, on the other hand, can prove more complex properties but requires more time and expertise. To combine the advantages of both approaches, we introduce Kukicha, a refinement type framework for object-oriented languages based on the cooperation of type checkers and deductive verification tools. Kukicha first performs an efficient syntactic well-typedness check. If this does not succeed, it uses a deductive verifier to prove exactly those specifications that could not be shown by the type checker, while being able to assume the rest. Unlike previous similar approaches, Kukicha supports mutable objects with strong updates, since it combines the refinement type system with uniqueness types to track aliasing and packing types to track temporary violations. We prove Kukicha’s soundness for an abstract object-oriented language and implement it for Java based on the Checker Framework, and the deductive verification tools KeY and Verifast. We evaluate our implementation by verifying the correctness of an example program and showing that Kukicha reduced the verification overhead needed for verification with KeY and Verifast.

Formal Aspects of Computing
Karlsruhe Institute of Technology (DE), University of Waterloo (CA)
Openalex Percentile: Top 10%
Logic, programming, and type systems
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Kukicha -- Efficient Yet Powerful Refinement Types for Object-Oriented Languages — Florian Lanzinger, Mattias Ulbrich, et al. · Formal Aspects of Computing (2026) | TGRS Research Map | TGRS