pstack v0.15.27 新增形式化验证技能 /create-formal-verification-skill
pstack v0.15.27 新增形式化验证技能
pstack v0.15.27 新增 beta 阶段的 /create-formal-verification-skill,这是一个元技能,可根据你想验证的特性生成新技能和形式化验证套件,例如用 TLA+ 建模状态机与并发系统,或用 kani 在 Rust 中检查未定义行为。作者用该技能以 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 Tan · x.com