跳到正文
lauren· @poteto · X·· 1 小时前AI 评分44
AI 导读

pstack v0.15.27 发布新技能 /create-formal-verification-skill,目前仍处 beta。该元技能可根据想验证的特性生成新技能与形式化验证套件,例如用 TLA+ 建模状态机与并发系统,或用 Rust 的 kani 检查未定义行为。作者用它以 TLA+ 建模自家代码,已发现多个 bug。

正文 · 原文

pstack v0.15.27 ships with a new skill /create-formal-verification-skill!

it's still in beta, and similar to /create-verification-skill, this is a meta-skill that creates a new skill and formal verification suite based on the characteristics you want to verify. for example, you may want to model state machines and systems with concurrency using TLA+, or use kani in rust to check for undefined behavior.

if you're new to formal verification, think of it as mathematically proving properties and invariants (something that must always be true) or "laws" of your system. usually, this means modeling your programs in a separate language like with TLA+ and then running the solver on that spec. newer approaches like with kani and @bendlang take a different approach where there is no separate language: you write kani in rust, and bend in bend (it's also a programming language, and the proofs are written as laws and expressed in its type system).

historically formal verification never reached mainstream status because of the difficulty in modeling and writing proofs. it's quite difficult to model your business requirements and keep them in sync! but i expect that we will see more innovation in formal verification in the future as being able to formally verifiy that the code does what you intended gives your agents superpowers in writing correct software.

in the meantime though, i've been experimenting with modeling our code with TLA+ and have already found several bugs with the skill created by /create-formal-verification-skill.

try it out and let me know how it goes!

来源:lauren · x.com