Verifying distributed programs via canonical sequentialization

@article{Bakst2017VerifyingDP,
  title={Verifying distributed programs via canonical sequentialization},
  author={Alexander Bakst and Klaus von Gleissenthall and Rami G{\"o}khan Kici and Ranjit Jhala},
  journal={PACMPL},
  year={2017},
  volume={1},
  pages={110:1-110:27}
}
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