Permission-Based Verification of Red-Black Trees and Their Merging
This paper presents a verification case study, focussing on red-black trees. In particular, we verify a parallel algorithm for merging red-black trees, which uses lists as intermediate representations and which an industrial partner uses to efficiently manage tables of IP addresses. To verify the algorithm, we use the tool VerCors, which uses permission-based separation logic as its logical foundation. Thus, we first needed a suitable specification of the data structure, using that logic. This specification relies on the magic wand operator (a.k.a. separating implication), which is a connective often neglected when discussing separation logic. This paper describes that specification, as well as the verification of the parallel algorithm. It is an interesting case connecting the more academic endeavour of verifying a data structure with the practical one of verifying industrial code.
Wed 19 MayDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:30 - 17:00 | |||
15:30 30mTalk | PEQcheck: Localized and Context-aware Checking of Functional Equivalence FormaliSE 2021 Marie-Christine Jakobs TU Darmstadt, Germany Media Attached | ||
16:00 30mTalk | Permission-Based Verification of Red-Black Trees and Their Merging FormaliSE 2021 Pre-print Media Attached | ||
16:30 30mTalk | GUIDO: Automated Guidance for the Configuration of Deductive Program Verifiers FormaliSE 2021 Pre-print Media Attached |
Go directly to this room on Clowdr