A Verified Timsort C Implementation in Isabelle/HOL

12/08/2018
by   Yu Zhang, et al.
0

Formal verification of traditional algorithms are of great significance due to their wide application in state-of-the-art software. Timsort is a complicated and hybrid stable sorting algorithm, derived from merge sort and insertion sort. Although Timsort implementation in OpenJDK has been formally verified, there is still not a standard and formally verified Timsort implementation in C programming language. This paper studies Timsort implementation and its formal verification using a generic imperative language - Simpl in Isabelle/HOL. Then, we manually generate an C implementation of Timsort from the verified Simpl specification. Due to the C-like concrete syntax of Simpl, the code generation is straightforward. The C implementation has also been tested by a set of random test cases.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/16/2021

Verified Mutable Data Structures

Malfunctions in software like airplane control systems or nuclear plant ...
research
06/21/2023

Coqlex: Generating Formally Verified Lexers

A compiler consists of a sequence of phases going from lexical analysis ...
research
06/07/2021

Towards Formal Verification of Password Generation Algorithms used in Password Managers

Password managers are important tools that enable us to use stronger pas...
research
01/09/2023

Case studies of development of verified programs with Dafny for accessibility assessment

Formal verification techniques aim at formally proving the correctness o...
research
11/20/2019

CleanQ: a lightweight, uniform, formally specified interface for intra-machine data transfer

We present CleanQ, a high-performance operating-system interface for des...
research
09/13/2020

Transition-Oriented Programming: Developing Verifiable Systems

It is extremely challenging to develop verifiable systems that are regul...
research
08/18/2022

A Verified Implementation of B+-Trees in Isabelle/HOL

In this paper we present the verification of an imperative implementatio...

Please sign up or login with your details

Forgot password? Click here to reset