Checking a multithreaded algorithm with +CAL

  • Authors:
  • Leslie Lamport

  • Affiliations:
  • Microsoft Research

  • Venue:
  • DISC'06 Proceedings of the 20th international conference on Distributed Computing
  • Year:
  • 2006

Quantified Score

Hi-index 0.02

Visualization

Abstract

A colleague told me about a multithreaded algorithm that was later reported to have a bug. I rewrote the algorithm in the +cal algorithm language, ran the TLC model checker on it, and found the error. Programs are not released without being tested; why should algorithms be published without being model checked?