Generically Automating Separation Logic by Functors, Homomorphisms and Modules

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Xu, Qiyuan, Sanan, David, Hou, Zhe, Luan, Xiaokun, Watt, Conrad, Liu, Yang
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866918082158526464
author Xu, Qiyuan
Sanan, David
Hou, Zhe
Luan, Xiaokun
Watt, Conrad
Liu, Yang
author_facet Xu, Qiyuan
Sanan, David
Hou, Zhe
Luan, Xiaokun
Watt, Conrad
Liu, Yang
contents Foundational verification considers the functional correctness of programming languages with formalized semantics and uses proof assistants (e.g., Coq, Isabelle) to certify proofs. The need for verifying complex programs compels it to involve expressive Separation Logics (SLs) that exceed the scopes of well-studied automated proof theories, e.g., symbolic heap. Consequently, automation of SL in foundational verification relies heavily on ad-hoc heuristics that lack a systematic meta-theory and face scalability issues. To mitigate the gap, we propose a theory to specify SL predicates using abstract algebras including functors, homomorphisms, and modules over rings. Based on this theory, we develop a generic SL automation algorithm to reason about any data structures that can be characterized by these algebras. In addition, we also present algorithms for automatically instantiating the algebraic models to real data structures. The instantiation reuses the algebraic models of component structures and preserves their data abstractions. Case studies on formalized imperative semantics show our algorithm can instantiate the algebraic models automatically for a variety of complex data structures. Experimental results indicate the automatically instantiated reasoners from our generic theory show similar results to the state-of-the-art systems made of specifically crafted reasoning rules. The presented theories, proofs, and the verification framework are formalized in Isabelle/HOL.
format Preprint
id arxiv_https___arxiv_org_abs_2411_06094
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Generically Automating Separation Logic by Functors, Homomorphisms and Modules
Xu, Qiyuan
Sanan, David
Hou, Zhe
Luan, Xiaokun
Watt, Conrad
Liu, Yang
Programming Languages
Logic in Computer Science
F.3.1; F.4.1; D.3.1
Foundational verification considers the functional correctness of programming languages with formalized semantics and uses proof assistants (e.g., Coq, Isabelle) to certify proofs. The need for verifying complex programs compels it to involve expressive Separation Logics (SLs) that exceed the scopes of well-studied automated proof theories, e.g., symbolic heap. Consequently, automation of SL in foundational verification relies heavily on ad-hoc heuristics that lack a systematic meta-theory and face scalability issues. To mitigate the gap, we propose a theory to specify SL predicates using abstract algebras including functors, homomorphisms, and modules over rings. Based on this theory, we develop a generic SL automation algorithm to reason about any data structures that can be characterized by these algebras. In addition, we also present algorithms for automatically instantiating the algebraic models to real data structures. The instantiation reuses the algebraic models of component structures and preserves their data abstractions. Case studies on formalized imperative semantics show our algorithm can instantiate the algebraic models automatically for a variety of complex data structures. Experimental results indicate the automatically instantiated reasoners from our generic theory show similar results to the state-of-the-art systems made of specifically crafted reasoning rules. The presented theories, proofs, and the verification framework are formalized in Isabelle/HOL.
title Generically Automating Separation Logic by Functors, Homomorphisms and Modules
topic Programming Languages
Logic in Computer Science
F.3.1; F.4.1; D.3.1
url https://arxiv.org/abs/2411.06094