Serviceeinschränkungen vom 12.-22.02.2026 - weitere Infos auf der UB-Homepage

Treffer: Property Types for Mutable Data Structures in Java

Title:
Property Types for Mutable Data Structures in Java
Contributors:
Beckert, Bernhard
Publisher Information:
Karlsruher Institut für Technologie
Publication Year:
2022
Collection:
KITopen (Karlsruhe Institute of Technologie)
Document Type:
Dissertation master thesis
File Description:
application/pdf
Language:
English
DOI:
10.5445/IR/1000150318
Rights:
KITopen License, https://publikationen.bibliothek.kit.edu/kitopen-lizenz ; info:eu-repo/semantics/openAccess
Accession Number:
edsbas.904B23DE
Database:
BASE

Weitere Informationen

Property Types are a kind of user-defined refinement type about variables and fields in a program. They are verified by discharging as many properties as possible using a scalable type checker. The remaining assertions are forwarded to a less scalable but more powerful deductive verification tool. However, the design and implementation by Lanzinger et al. cannot function in the presence of aliasing and mutability. In this thesis, we find that property checking can be performed safely on mutable data structures provided exclusive mutable access to the referenced object, which we define as property-safety. We study different approaches to aliasing control, including uniqueness, ownership and permissions. Based on this research, we present the Exclusivity Type System, which can be used to check the property-safety of program variables and class fields. Using flow-sensitive type refinement, we develop Mutable Property Types, which can track changes in a variable’s property type over time. Impure methods can be annotated to specify how they change the Property Types of their receiver and arguments. We explain how the original Property Checker’s program translation can be adapted to include correct assertions about the pre- and post-types of each method. We present a prototypical implementation of the Exclusivity Checker for Java programs using the Checker Framework. Our work provides many insights into the nature of property type verification on mutable data structures and we devise the theoretical groundwork for performing this verification. To corroborate the reasonableness of the presented approach, we suggest a thorough analysis of our systems through formal proofs.