Refinement with Time – Refining the Run-time of Algorithms in Isabelle/HOL

Maximilian P.L. Haslbeck, Peter Lammich

Research output: Chapter in Book/Conference proceedingConference contributionpeer-review

Abstract

Separation Logic with Time Credits is a well established method to formally verify the correctness and run-time of algorithms, which has been applied to various medium-sized use-cases. Refinement is a technique in program verification that makes software projects of larger scale manageable. Combining these two techniques for the first time, we present a methodology for verifying the functional correctness and the run-time analysis of algorithms in a modular way. We use it to verify Kruskal’s minimum spanning tree algorithm and the Edmonds–Karp algorithm for network flow. An adaptation of the Isabelle Refinement Framework [15] enables us to specify the functional result and the run-time behaviour of abstract algorithms which can be refined to more concrete algorithms. From these, executable imperative code can be synthesized by an extension of the Sepref tool [11], preserving correctness and the run-time bounds of the abstract algorithm.
Original languageEnglish
Title of host publicationITP2019: Interactive Theorem Proving
Publication statusAccepted/In press - 1 Jun 2019
EventInteractive Theorem Proving - Portland, United States
Duration: 8 Sept 201913 Sept 2019
https://itp19.cecs.pdx.edu/

Conference

ConferenceInteractive Theorem Proving
Abbreviated titleITP 2019
Country/TerritoryUnited States
CityPortland
Period8/09/1913/09/19
Internet address

Keywords

  • Isabelle
  • Time complexity analysis
  • Separation logic
  • Program verification
  • Refinement
  • Run time
  • Algorithms

Fingerprint

Dive into the research topics of 'Refinement with Time – Refining the Run-time of Algorithms in Isabelle/HOL'. Together they form a unique fingerprint.

Cite this