frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Formal Methods and the Future of Programming

https://blog.janestreet.com/formal-methods-at-jane-street-index/?from_theconsensus=1
53•eatonphil•4h ago

Comments

eddiepete•1h ago
I wonder how formal methods can help us move faster with GenAI.

Is it that they can help write formulas faster? That they can help ensure formulas match the system they're modeling faster? If the problem you think formal methods will help with is sloppy code, isn't the verification code going to be sloppy as well, unless some (not sloppy) intelligence carefully confirms that the specification matches the target system, which was the labor that previously made formal methods too expensive? I guess I don't understand how the argument works if code was previously less sloppy and verification was too expensive, and now code is more sloppy, and there's more of it, but somehow the sloppy intelligence will make verification move fast enough to make it worthwhile.

Unless we have some non-sloppy intelligence that's less of a bottleneck on verification than humans, how are we in a better place?

Maybe it's that investing that huge amount of labor of verification by human experts is now worth it because so much code will be produced that uses the verification systems that the investment will now pay off. But that requires creating pretty general verification systems, such as type system verification or something (which is what they seem to be aimed at), rather than individually verifying software systems like the micro-kernel example.

In other words, maybe the play is to invest in reusable verification systems that can be run tons of times on new code and systems. If so, it's surprising that this wasn't always the strategy.

jnwatson•1h ago
The general idea is that formal methods are self-verifying, up to a point. Sloppy formal methods simply won't prove.

The point up to which formal methods stops is: do the formally encoded requirements actually encode what I want to be true?

One can make the argument that the requirements is a much smaller surface to verify than that of the entire program.

The counter argument is that figuring out what you want the program to do has always been the hardest part of programming, and that programming in itself is a journey to discover latent requirements.

jsenn•1h ago
> isn't the verification code going to be sloppy as well

The beauty of formal methods is it doesn't matter if your proof is sloppy. As long as it passes verification, it is correct. And unlike in pure math, the proof that a software system is correct is usually a huge mess of special cases, loop invariants, proofs by induction, and boilerplate that requires a large amount of human labour while providing no insight.

Proofs are also brittle: a tiny change in the code can force you to throw your proof away and start from scratch.

To me, the exciting thing about formal methods in the LLM era is it allows humans to offload the difficult and tedious work of writing proofs to a computer. Taken to an extreme, the human could live entirely in the world of a formal specification, and the LLM could generate 100% of the code. The code may be a mess, but if the system proves it satisfies the spec then it can't be wrong.

jdw64•1h ago
In other words, because GEN AI a lot of code, the idea is to shift human value toward verification. Sometimes I think about what programming really is. In fact, learning programming itself is a huge challenge for a non English speaker like me. I have to rely on machine translation to understand English documents that have no translation. The materials in my language are about 5 to 6 years behind.

Now, since it's impossible to code review the tens of thousands of lines of code that AI produces, I see discussions about establishing an absolute rule like mathematical proofs. Reading this reminds me of Rust's borrow checker. In fact, after writing in Rust a few times, it often leads to bad practices where people use tricks to avoid the borrow checker.

Actually, when mathematical rigor goes too far, humans tend to find ways around it. An undereducated programmer like me is especially prone to that.

Looking back at this kind of attempt, it will probably result in writing code only for specific formalized answers. If it becomes that standardized, I'm not sure it will be able to respond to human needs.

I think these defensive programming attempts are fine, but I want to do offensive programming (I coined that term). You take risks, but you fix things quickly and ship. Believing that over time, it will become good enough. Of course, for established industries where accuracy matters and the scope of work is well defined, like Jane Street, the approach in this article is correct. In other words, because there is enough data to adequately model the market's demands

But for social losers like me trying to make money, constantly moving from place to place looking for gold mines, these kinds of methodologies seem like a luxury.Established businesses with mature modeling need highly educated and specialized personnel to continuously optimize. But I know that realistically, I can't keep up with that demand. So I look for places where modeling is unstructured, but I'm not sure if I can use this approach even then.

bobkb•1h ago
I have been testing formal verification methods with multiple products. It will be great to also understand more about what’s tried and how it was done. For example attempting to verify the spec is what I have been trying to implement.
xvilka•1h ago
seL4 despite being formally verified contained gnarly bugs, like [1]. Thus, it's not a silver bullet as some people think. Yes, it improves the quality, but only one of the aspects of hardening software, like ASAN, SAST, fuzzing, strict languages, and so on.

[1] https://github.com/seL4/seL4/issues/1199

cayley_graph•1h ago
> Since it is the unverified SMP config of the kernel

I don't disagree with your point (formal verification does not rid you of all bugs), but this is not the subject of the linked issue. This was a bug in an unverified path.

mark4•50m ago
Relevant keynote I wrote about

Formal methods won, now what? https://muratbuffalo.blogspot.com/2026/04/bugbash26-keynote....

awinter-py•36m ago
See previous kleppmann post https://martin.kleppmann.com/2025/12/08/ai-formal-verificati..., and yes, obviously anything that you can put in the typesystem or the linter, you should weigh doing so.

Hopefully we get more ergonomic ways to do this? Like of the tools listed in the post, dafny + iris are the closest to being industrial I think. And amzn S3 has a history of TLA use in-house I think. But we probably haven't seen the typescript in this space yet, a zero cost abstraction that drops into existing tools, and people genuinely prefer it to the old way.

(And custom linters are also still pretty bad to write. Like golangci-lint is a painful codebase, haven't tried semgrep but the rules engine seemed intimidating. I've yet to use an AST API that I liked)

pjmlp•24m ago
I am already seeing the uptake on Spec-Driven Development as the Rational Unified Process revenge.

Rio de Janeiro's "homegrown" LLM appears to be a merge of an existing model

https://github.com/nex-agi/Nex-N2/issues/4
26•unrvl22•1h ago•11 comments

No, everyone is not using AI for everything

https://gabrielweinberg.com/p/people-are-consuming-ai-like-they
187•yegg•2h ago•176 comments

The Birth and Death of JavaScript (2014)

https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript
143•subset•4h ago•76 comments

Firewood Splitting Simulator

https://screen.toys/firewood/
287•memalign•4d ago•97 comments

Measles surge in Utah sparks fears US could undo decades of progress

https://www.dailymail.com/news/article-15897903/measles-surge-utah-US-elimination-status.html
90•Bender•1h ago•44 comments

Lisp's Influence on Ruby

https://blog.tacoda.dev/lisps-influence-on-ruby-6a54f1a7740e
136•tacoda•3d ago•17 comments

FarOutCompany

https://faroutcompany.com/
54•bookofjoe•2h ago•4 comments

Caddy compatibility for zeroserve: 3x throughput and 70% lower latency

https://su3.io/posts/zeroserve-caddy-compat
67•losfair•3h ago•18 comments

The only scalable delete in Postgres is DROP TABLE

https://planetscale.com/blog/the-only-scalable-delete
51•hollylawly•2d ago•25 comments

Perlisisms

https://www.cs.yale.edu/homes/perlis-alan/quotes.html
21•tosh•1h ago•6 comments

Rio de Janeiro's city government model Rio3.5 beats Qwen3.7 in recent benchmarks

https://twitter.com/zenmagnets/status/2065796012820848699
87•lucasfcosta•2h ago•25 comments

I indexed 669 GB of my GoPro videos using my M1 Max computer and local ML models

52•iliashad•1h ago•8 comments

Global density and biomass of arbuscular mycorrhizal fungal networks

https://www.science.org/doi/10.1126/science.adu4373
19•zdw•23h ago•0 comments

Formal Methods and the Future of Programming

https://blog.janestreet.com/formal-methods-at-jane-street-index/?from_theconsensus=1
53•eatonphil•4h ago•10 comments

How did Atari apply side art to Arcade Cabinets?

https://arcadeblogger.com/2026/06/14/how-did-atari-apply-side-art-to-arcade-cabinets/
43•msephton•3h ago•6 comments

Show HN: Dual YOLOv8n UAV Detection on RK3588S at 42 FPS Using NPU

https://github.com/alebal123bal/khadas_yolov8n_multithread
19•alebal123bal•2h ago•2 comments

Show HN: 3D print Z reinforcement via injected loops

https://mgunlogson.github.io/magma/
8•mgunlogson•5d ago•5 comments

How to Earn a Billion Dollars

https://paulgraham.com/earn.html
217•kingstoned•4h ago•567 comments

Free SQL→ER diagram tool, runs in the browser, nothing uploaded

https://sqltoerdiagram.com/
305•robhati•13h ago•58 comments

Honda Civics and the Evil Valet

https://juniperspring.org/posts/honda-evil-valet/
359•librick•15h ago•85 comments

KPMG pulls report on AI usage due to apparent hallucinations

https://techcrunch.com/2026/06/13/kpmg-pulls-report-on-ai-usage-due-to-apparent-hallucinations/
60•Brajeshwar•2h ago•5 comments

Dangerous hormone-disrupting chemicals found in US breast milk samples

https://www.theguardian.com/us-news/2026/jun/14/breast-milk-research-chemicals
40•andsoitis•1h ago•9 comments

Cloud-based LLM gold rush is ending

https://automato.substack.com/p/apple-wwdc-and-the-fable-5-embargo
37•andrewstetsenko•1h ago•6 comments

Extinction-Level Capitalism

https://matthewbutterick.com/extinction-level-capitalism.html
66•laurex•2h ago•23 comments

Don't trust large context windows

https://garrit.xyz/posts/2026-05-06-dont-trust-large-context-windows
212•computersuck•10h ago•151 comments

Historic co-determination helps monasteries navigate digital change

https://phys.org/news/2026-05-historic-monasteries-digital-countries.html
62•indynz•2d ago•41 comments

Conversations with a six-year-old on functional programming (2018)

https://byorgey.wordpress.com/2018/05/06/conversations-with-a-six-year-old-on-functional-programm...
33•downbad_•2h ago•3 comments

Swiss voters reject proposal to cap population at ten million

https://www.swissinfo.ch/eng/swiss-politics/swiss-voters-reject-proposal-to-cap-population-at-ten...
6•FabCH•18m ago•1 comments

FreeOberon – Open-Source, Cross-Platform, Free Pascal/Turbo Pascal-Like Language

https://github.com/kekcleader/FreeOberon
130•peter_d_sherman•3d ago•56 comments

Linux 7.1

https://lore.kernel.org/lkml/CAHk-=wi4BF4bMhZNZ1tqs+FFV4OuZRe3ZqdWB+LxRLmRweUzQw@mail.gmail.com/T/#u
16•berlianta•45m ago•0 comments