Efficient Verified Implementation of Introsort and Pdqsort

Peter Lammich

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

Abstract

Sorting algorithms are an important part of most standard libraries, and both, their correctness and efficiency is crucial for many applications.
As generic sorting algorithm, the GNU C++ Standard Library implements the introsort algorithm, a combination of quicksort, heapsort, and insertion sort. The Boost C++ Libraries implement pdqsort, an extension of introsort that achieves linear runtime on inputs with certain patterns. We verify introsort and pdqsort in the Isabelle LLVM verification framework, closely following the state-of-the-art implementations from GNU and Boost. On an extensive benchmark set, our verified implementations perform on par with the originals.
Original languageEnglish
Title of host publicationProceedings of IJCAR 2020
Publication statusAccepted/In press - 24 Mar 2020

Fingerprint

Dive into the research topics of 'Efficient Verified Implementation of Introsort and Pdqsort'. Together they form a unique fingerprint.

Cite this