• Home
  • Search
  • Verifying Custom Synchronization Constructs Using Higher-Order Separation Logic
  • Open Access IconOpen Access
  • Cite Icon19
  • https://doi.org/10.1145/2818638Copy DOI Icon

Verifying Custom Synchronization Constructs Using Higher-Order Separation Logic

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Synchronization constructs lie at the heart of any reliable concurrent program. Many such constructs are standard (e.g., locks, queues, stacks, and hash-tables). However, many concurrent applications require custom synchronization constructs with special-purpose behavior. These constructs present a significant challenge for verification. Like standard constructs, they rely on subtle racy behavior, but unlike standard constructs, they may not have well-understood abstract interfaces. As they are custom built, such constructs are also far more likely to be unreliable. This article examines the formal specification and verification of custom synchronization constructs. Our target is a library of channels used in automated parallelization to enforce sequential behavior between program statements. Our high-level specification captures the conditions necessary for correct execution; these conditions reflect program dependencies necessary to ensure sequential behavior. We connect the high-level specification with the low-level library implementation to prove that a client’s requirements are satisfied. Significantly, we can reason about program and library correctness without breaking abstraction boundaries. To achieve this, we use a program logic called iCAP (impredicative Concurrent Abstract Predicates) based on separation logic. iCAP supports both high-level abstraction and low-level reasoning about races. We use this to show that our high-level channel specification abstracts three different, increasingly complex low-level implementations of the library. iCAP’s support for higher-order reasoning lets us prove that sequential dependencies are respected, while iCAP’s next-generation semantic model lets us avoid ugly problems with cyclic dependencies.

Similar Papers
  • Book Chapter
  • Citations44

Automatic Parallelization with Separation Logic

  • Jan 01, 2009
  • Mohammad Raza +2
  • Conference Article
  • Citations1

SuSLik: Synthesis of Safe Pointer-Manipulating Programs (Invited Tutorial)

  • Oct 01, 2019
  • Nadia Polikarpova
  • Research Article
  • Citations28

Conditional Contextual Refinement

  • Jan 09, 2023
  • Proceedings of the ACM on Programming Languages
  • Youngju Song +5
  • Book Chapter

Automatic Verification of Heap-Manipulating Programs Using Separation Logic

  • Jan 01, 2009
  • Hongseok Yang
  • Book Chapter
  • Citations4

One Step Towards Automatic Inference of Formal Specifications Using Automated VeriFast

  • Jan 01, 2016
  • Mahmoud Mohsen +1
  • Research Article
  • Citations58

Random coupling model for molecular dissociation

  • Aug 01, 1974
  • The Journal of Chemical Physics
  • Eric J Heller +1
  • Book Chapter
  • Citations3

Property-Based Monitoring of Analog and Mixed-Signal Systems

  • Jan 01, 2010
  • John Havlicek +3
  • PDF
  • Research Article
  • Citations17

Who guards the guards? formal validation of the Arm v8-m architecture specification

  • Oct 12, 2017
  • Proceedings of the ACM on Programming Languages
  • Alastair Reid
  • Conference Article

Formalism for high level specification of parallel/distributed languages

  • Dec 01, 2009
  • Amala Vijayaselvi Rajan +2
  • Conference Article
  • Citations54

The ramifications of sharing in data structures

  • Jan 23, 2013
  • Aquinas Hobor +1
  • Book Chapter

Automatic Verification of Heap Manipulation Using Separation Logic

  • Jan 01, 2009
  • Josh Berdine
  • Book Chapter
  • Citations13

The Analysis of Sequence in Social Interaction

  • Jan 01, 1991
  • Thomas N. Bradbury +1
  • Research Article
  • Citations106

A Model-Driven Design Framework for Massively Parallel Embedded Systems

  • Nov 01, 2011
  • ACM Transactions on Embedded Computing Systems
  • Abdoulaye Gamatié +6
  • Book Chapter
  • Citations53

Formal Verification of the Heap Manager of an Operating System Using Separation Logic

  • Jan 01, 2006
  • Nicolas Marti +2
  • Book Chapter
  • Citations20

Automatic Symmetry Detection in Well-Formed Nets

  • Jan 01, 2003
  • Yann Thierry-Mieg +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.