Loading video...

Video Failed to Load

Go Home

AI agents are writing more code. How can developers ensure that code is correct? Microsoft Research’s Proof-Driven Development (PDD) Kit explores a more rigorous approach: it translates a developer’s intent into a formal specification, then uses formal verification to prove that generated code meets it. PDD Kit works with...

63,315 views • 2 days ago •via X (Twitter)

13 Comments

Microsoft Research's profile picture
Microsoft Research2 days ago

Join @GitHubUniverse Oct 28–29 in SF or online. Explore AI, security, and open source with hands-on sessions, product updates, and devs from around the world.

Harry Nicholls's profile picture
Harry Nicholls2 days ago

I think this is the future of software development until we solve program synthesis. Love the idea of bringing formal methods in by default, and making proofs legible to those who aren’t experts will be challenging.

kevin joo's profile picture
kevin joo1 day ago

@VictorTaelin they are starting to catch on!

H.M Gowda's profile picture
H.M Gowda1 day ago

simply call PRD.

EDDY VU's profile picture
EDDY VU1 day ago

Bringing formal verification into the agent loop is huge, especially for catching subtle edge cases unit tests consistently miss.

Lachy's profile picture
Lachy1 day ago

if the ai drafts the formal spec and i approve it, what catches a spec that is valid but quietly weaker than what i meant?

AxleMode's profile picture
AxleMode2 days ago

The mutation check in the demo is the bit worth copying: show the deliberately broken versions failing beside the proof result.

Nur Hasan's profile picture
Nur Hasan1 day ago

How is it different from PRD?

安叫兽|Bird🕊️ 🔶 BNB's profile picture
安叫兽|Bird🕊️ 🔶 BNB1 day ago

先把意图写清楚这步挺关键,不然验证再严也可能证明错东西。

Humanity Labs's profile picture
Humanity Labs1 day ago

Formal verification is a strong answer for code. Business work needs its equivalent: explicit standards, logged decisions, exception routes, and a human outcome owner. “The agent completed it” is not the same as “the result is acceptable.”

NextSignal's profile picture
NextSignal1 day ago

形式化验证过去最大的阻力,是写规范的人力成本比写代码还高。这套工具真正的考题在上一层:证明能保证代码符合规范,但规范本身写错了、或者根本没覆盖真实需求,证明照样成立。所以最难自动化的不是验证,而是把「到底想要什么」说清楚——这一层最后还是得人来守。

Kim Noël ⚡ 📖's profile picture
Kim Noël ⚡ 📖1 day ago

@grok is this like Lauren tan 's pstack?

Diego Alejandro R's profile picture
Diego Alejandro R1 day ago

We need more and better tools to review written code by AI

Related Videos

How do you actually formally verify the code underpinning Ethereum's future? In this episode (the finale of the lean Ethereum miniseries), Nico sits down with Alex Hicks (Alexander Hicks), lead of Protocol Snarkification at the Ethereum Foundation, to break down formal verification from first principles. They cover: – What formal verification actually is and the trust boundaries between proof assistants, SMT solvers, and kernels – The full verification stack for RISC-V ZKVMs: from SAIL specs to constraint extraction to soundness proofs – Why writing constraints directly in Lean makes proofs 10–100x more ergonomic – How AI is now proving hard theorems in hours for $200 — and what that unlocks for the whole pipeline They also explore the boundaries problem, why specs can have bugs too, and the end goal of a full Lean stack that bypasses Rust and LLVM entirely. Listen to the full episode ------------------------------------------------------------ TIMECODES: 09:16 – What is formal verification? Proof assistants vs SMT solvers 18:33 – Formal verification of code: specs, semantics, and trust boundaries 29:30 – Formally verifying the Lean Ethereum stack: RISC-V ZKVMs in focus 33:02 – Extracting ZKVM constraints into Lean and proving soundness 36:35 – Writing constraints directly in Lean: 10–100x better proof ergonomics 44:02 – Proving Polishchuk–Spielman in 8 hours for $200 with AI 51:01 – The end goal: a full Lean stack bypassing Rust and LLVM

Zero Knowledge Podcast

15,289 views • 7 months ago

Xavier Leroy (creator of OCaml) is an expert in compilers, formal verification of software and functional programming. This interview should be an approachable resource if you're curious about formal verification of software since I was learning that on the fly during it. In this episode: • OCaml compared with Rust and JavaScript • What is formal verification and how does it work • How languages call each other across boundaries • How to address "almost-correct" LLM code • How type inference works in programming languages Where to watch: • YouTube - • Spotify - • Apple Podcasts - • Transcript - Thank you to the sponsor of this episode for supporting my work: • WorkOS: makes your app Enterprise Ready with easy to use APIs to add SSO, SCIM, RBAC, and more in just a few lines of code, check them out at Chapters: 00:00 - Intro 00:43 - What sets OCaml apart 04:39 - OCaml vs Rust 07:57 - Why is manual memory management more performant 11:21 - Javascript vs OCaml 14:00 - Famous Rob Pike quote 16:05 - Type inference and how it works 22:12 - What is formal verification and how does it work 40:07 - What made multicore support difficult for OCaml 50:17 - How programming languages interface and call each other 57:41 - The danger of almost-correct LLM code 01:05:39 - How LLMs will change programming languages 01:10:26 - Industry vs academia 01:15:05 - Most interesting unsolved problems 01:18:30 - Top book recommendations for engineers 01:21:17 - Advice for his younger self 01:23:31 - Outro

Ryan Peterman

24,256 views • 3 months ago

There’s a popular theory that AI will finally make formal verification mainstream because mathematical proof of correctness will be needed when machines write most or all of the code. But will this happen? Hillel Wayne is one of the best people to answer. Timestamps: 00:00 Intro 04:32 The Crossover Project 11:37 What software engineering does better 15:30 What traditional engineering does better 18:17 Formal methods 29:32 TLA+: what it is and demo 36:58 TLA+ at Amazon 38:10 Ways distributed systems break 41:03 Formal methods and systems thinking 46:20 The value of learning math 50:23 What TLA+ is good for and isn’t 52:50 Alloy: a declarative language for software modeling 58:53 Other formal methods tools 1:01:24 Property-based testing 1:05:31 AI and the need for formal verification 1:12:29 Logic for programmers 1:14:35 Hillel’s 2025 prediction on AI’s impact 1:21:30 Book recommendation Brought to you by: • Antithesis – verify your system’s correctness without human review or traditional integration tests – and avoid bugs or outages. • turbopuffer – a vector and full-text search engine built on object storage. It’s fast, cheap, and extremely scalable. • WorkOS – everything you need to make your app enterprise ready. Two things I found especially interesting, talking with Hillel: 1. Amazon used TLA+ to find a bug almost impossible to locate without formal methods. In the paper How AWS uses formal methods, the AWS team shared that they’d found a complicated bug for which the shortest error trace to exhibit was 35 steps (!!). The bug passed unnoticed through extensive design review, code reviews, and testing. AWS concluded they wouldn’t have uncovered it if they’d stuck to conventional testing approaches. 2. Why not use formal verification for everything, then? It’s because specs in the real world are a nightmare to write. Even a simple problem like “find the file in a directory that has the most lines” gets complicated when modeled with formal methods. We would have to answer questions like: ‘do we look at ASCII or UTF-8 new line characters, what about unreadable files, and Symlinks?’ Without formal methods, we can write a simple verification that is right in 99%+ of cases. Formal methods require a lot of extra effort for the less than 1% of exotic use cases!

Gergely Orosz

34,926 views • 2 months ago