Expanding Specification Capabilities of a Gradual Verifier with Pure Functions

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Mutlu, Doruk Alp
Format: Preprint
Veröffentlicht: 2025
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866917108266303488
author Mutlu, Doruk Alp
author_facet Mutlu, Doruk Alp
contents Gradual verification soundly combines static checking and dynamic checking to provide an incremental approach for software verification. With gradual verification, programs can be partially specified first, and then the full specification of a program can be achieved in incremental steps. The first and only practicable gradual verifier based on symbolic execution, Gradual C0, supports recursive heap data structures. Despite recent efforts to improve the expressivity of Gradual C0's specification language, Gradual C0's specification language is still limited in its capabilities for complex expressions. This work explores an extension to Gradual C0's design with a common construct supported by many static verification tools, pure functions, which both extend the specification capabilities of Gradual C0 and increase the ease of encoding observer methods in Gradual C0. Our approach addresses the technical challenges related to the axiomatisation of pure functions with imprecise specifications.
format Preprint
id arxiv_https___arxiv_org_abs_2511_22075
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Expanding Specification Capabilities of a Gradual Verifier with Pure Functions
Mutlu, Doruk Alp
Programming Languages
Gradual verification soundly combines static checking and dynamic checking to provide an incremental approach for software verification. With gradual verification, programs can be partially specified first, and then the full specification of a program can be achieved in incremental steps. The first and only practicable gradual verifier based on symbolic execution, Gradual C0, supports recursive heap data structures. Despite recent efforts to improve the expressivity of Gradual C0's specification language, Gradual C0's specification language is still limited in its capabilities for complex expressions. This work explores an extension to Gradual C0's design with a common construct supported by many static verification tools, pure functions, which both extend the specification capabilities of Gradual C0 and increase the ease of encoding observer methods in Gradual C0. Our approach addresses the technical challenges related to the axiomatisation of pure functions with imprecise specifications.
title Expanding Specification Capabilities of a Gradual Verifier with Pure Functions
topic Programming Languages
url https://arxiv.org/abs/2511.22075