2017
DOI: 10.1007/s10817-017-9437-1
|View full text |Cite
|
Sign up to set email alerts
|

Refinement to Imperative HOL

Abstract: Many algorithms can be implemented most efficiently with imperative data structures. This paper presents Sepref, a stepwise refinement based tool chain for the verification of imperative algorithms in Isabelle/HOL. As a back end we use Imperative HOL, which allows to generate verified imperative code. On top of Imperative HOL, we develop a separation logic framework with powerful proof tactics. We use this framework to verify basic imperative data structures and to define a refinement calculus between imperati… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
60
0

Year Published

2017
2017
2022
2022

Publication Types

Select...
8

Relationship

3
5

Authors

Journals

citations
Cited by 44 publications
(60 citation statements)
references
References 30 publications
0
60
0
Order By: Relevance
“…The final step leads into the heap-monad of Imperative HOL [22], which supports imperative data structures. Here, the Sepref tool [6] replaces functional by imperative data structures and generates a refinement theorem automatically.…”
Section: Listing 11 Cyclicity Checkermentioning
confidence: 99%
See 1 more Smart Citation
“…The final step leads into the heap-monad of Imperative HOL [22], which supports imperative data structures. Here, the Sepref tool [6] replaces functional by imperative data structures and generates a refinement theorem automatically.…”
Section: Listing 11 Cyclicity Checkermentioning
confidence: 99%
“…Thus, it must provide sufficient performance to check real world examples. To this end, we use the Isabelle Refinement Framework (IRF) [5,6] to obtain efficient imperative implementations of the algorithms required for model checking.…”
Section: Introductionmentioning
confidence: 99%
“…In this section, we review some basic concepts from the Imperative HOL framework in Isabelle and its separation logic. See [3,13,14] for details.…”
Section: Imperative Hol and Its Separation Logicmentioning
confidence: 99%
“…For Isabelle/HOL, the Isabelle Refinement Framework [22,24,25,29] provides a powerful stepwise refinement tool chain, featuring a nondeterministic shallowly embedded programming language [29], a library of efficient collection data structures and generic algorithms [24][25][26], and convenience tools to simplify canonical refinement steps [22,24]. It has been used for various software verification projects (e. g. [23,27,28]), including a fully fledged verified LTL model checker [4,12].…”
Section: Program Verification With Isabelle/holmentioning
confidence: 99%
“…For example, we implement the iterators by indexes into an array of integers that stores both the formula and the lemmas. For many of the abstract types, we use general purpose data structures from the Isabelle Refinement Framework [24,25]. For example, we refine assignments to arrays, using the array_map_default data structure, which implements functions of type nat⇒ a option by arrays of type b array.…”
Section: Bt_assign_rel A0 ≡ { ((At)a) | a T T ⊆ Dom A ∧ A0 = A (-T) }mentioning
confidence: 99%