Modular reasoning for modular concurrency

Modular programming and modular verification go hand in hand, but most existing logics for concurrency ignore two crucial forms of modularity: *higher-order functions*, which are essential for building reusable components, and *granularity abstraction*, a key technique for hiding the intricacies of fine-grained concurrent data structures from their clients. This talk will present CaReSL, the first logic to apply granularity abstraction for modular verification of higher-order concurrent programs. The talk is organized around a few simple but subtle examples that motivate CaReSL’s key ideas, and that ultimately come together in a significant case study: the first formal proof of correctness for Hendler et al.’s “flat combining” algorithm.

Date:
Speakers:
Aaron Turon
Affiliation:
Max Planck Institute for Software Systems
    • Portrait of Jeff Running

      Jeff Running