Tags:Concurrent Separation Logic, Isabelle, LLVM, Parallel Sorting Algorithms and Refinement
Abstract:
We present a stepwise refinement approach to develop verified parallel algorithms, down to efficient LLVM code. The resulting algorithms' performance is competitive with their counterparts implemented in C/C++.
Our approach is backwards compatible with the Isabelle Refinement Framework, such that existing sequential formalizations can easily be adapted or re-used.
As case study, we verify a simple parallel sorting algorithm, and show that it performs on par with its C++ implementation, and is competitive to state-of-the-art parallel sorting algorithms.