Verifying distributed programs via canonical sequentialization

  title={Verifying distributed programs via canonical sequentialization},
  author={Alexander Bakst and Klaus von Gleissenthall and Rami G{\"o}khan Kici and Ranjit Jhala},
We introduce canonical sequentialization, a new approach to verifying unbounded, asynchronous, message-passing programs at compile-time. Our approach builds upon the following observation: due the combinatorial explosion in complexity, programmers do not reason about their systems by case-splitting over all the possible execution orders. Instead, correct programs tend to be well-structured so that the programmer can reason about a small number of representative executions, which we call the… CONTINUE READING