‹ BackHN Continuity

Thread

Developing provably correct Rust code with Verus

164 points · 79 comments · Betelbuddy

  1. sourdecor · · focus · HN ↗
    Verus seems to be exactly what I have been looking for! I discovered AllConcur[0] on HN a while back, and I wanted to port it to Go, but since it used TLA+ and C, and it was very confusing for me to understand how you can trust the implementation unless you can compile TLA+ to C.

    I was talking to Gemini about comparing Verus to TLA+ and it said that TLA+ is usually used (for example) "to prove that a distributed consensus protocol is logically sound" but when I asked if Verus can do that too, it said yes. So Verus can be compiled and integrated with Rust, whereas TLA+ is used more for blueprint development that then guides the implementation in the mind of the implementer.

    Seems awesome!

    [0]: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=12357976">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=12357976

    1. pjmlp · · focus · HN ↗
      That is my pet peeve against TLA+ advocacy, the disassociation between a theoretical proof of a specific algorithm, data structures, and the actual implementation in production.

      I rather push for tooling that allows code generation based on the formal proofs like FStart or Dafny, or is integrated with specific programming languages like SPARK, Frama-C or this Verus.

      1. kreneskyp · · focus · HN ↗
        I&#x27;m working on a ISO-29148 aligned spec standard with formal modelling baked in. It&#x27;s meant to sit above the code with types, contracts, proofs and other objects that lower mechanically into code and&#x2F;or are deterministically verified.

        I&#x27;m targeting Rust primarily but my goal is that any language could sit under it via an integration layer.

        <a href="https:&#x2F;&#x2F;github.com&#x2F;agent-ix&#x2F;quoin" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;agent-ix&#x2F;quoin

        The first public version of the formal specification standard isn&#x27;t available yet. Pushing hard to get it out soon! But Quoin ships with an earlier version of the spec standard. It features derived property tests, which was the POC for fully adopting a formal-spec-to-derived-formal-verification ecosystem.

        1. pjmlp · · focus · HN ↗
          Thanks for sharing, always like to learn about this stuff.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.