University of Illinois Chicago
Browse

Formal Verification of Concurrent Binary Search Tree

Download (709.1 kB)
thesis
posted on 2021-05-01, 00:00 authored by Roshan Sharma
Concurrent data structures are considered quite hard to design. Programs that use them can have multiple interleaving between thread operations which make reasoning about the correctness of such program difficult. In this thesis, we formally verify two concurrent binary search tree algorithms: a blocking algorithm using fine-grained locking, and a lock-free algorithm us-ing C11 atomic operations. We prove the correctness of the algorithms by formally specifying and verifying their C implementations using the Verified Software Toolchain which supports reasoning about concurrent C programs in the style of the Iris Concurrent Separation logic. All the proofs of correctness have been completed with pen-and-paper and partly mechanized in Coq. The result is the first C-level mechanized verification of concurrent binary search trees

History

Advisor

Mansky, William

Chair

Mansky, William

Department

Computer Science

Degree Grantor

University of Illinois at Chicago

Degree Level

  • Masters

Degree name

MS, Master of Science

Committee Member

Pina, Lu ́ıs G Sistla, Prasad

Submitted date

May 2021

Thesis type

application/pdf

Language

  • en

Usage metrics

    Categories

    No categories selected

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC