<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>formal verification on Liangrun Da&#39;s website</title>
    <link>/tags/formal-verification/</link>
    <description>Recent content in formal verification on Liangrun Da&#39;s website</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Sat, 24 Feb 2024 00:00:00 +0200</lastBuildDate>
    <atom:link href="/tags/formal-verification/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Model Checking: Use Stateright to Formally Verify Raft Lite</title>
      <link>/posts/raft-lite-model-check/</link>
      <pubDate>Sat, 24 Feb 2024 00:00:00 +0200</pubDate>
      <guid>/posts/raft-lite-model-check/</guid>
      <description>You can find the source code of this post here.
Background of model checking Distributed system is rather complex due to the fact that the message can be lost, delayed or duplicated. It is hard to reason about the correctness of a distributed system.
Hand-written proof is a common way to verify the correctness of a distributed system. For example, the Raft paper provides a proof of safety property of Raft in Section 5.4. Many proofs seem plausible but actually could be wrong (I&amp;rsquo;m not saying the Raft paper&amp;rsquo;s proof is wrong).</description>
    </item>
  </channel>
</rss>
