Profile picture
Hillel @Hillelogram
, 12 tweets, 4 min read Read on Twitter
People often say formal methods are just an academia or "NASA" thing. They're not. Here are just a few examples of "industry" problems you can tackle with formal specification. I've included examples if they're publicly available, otherwise I've seen/done it in private code.
Business code: Does my system accurately follow all the requirements of the customer?…
Service architectures: if we have several independent communicating services, do we ever have dangerous race conditions?
Optimizations: We want to make a system more performant without making it buggier.…

(At a not-Amazon-scale, touched on a bit here for the case of "making sure we stay under the rate limit":…)
Feature interaction: given a set of business rules, are there any reachable situations where the business rules contradict each other?
DevOps: Will our deploys work successfully? What if the deploy fails for one server? Will users ever experience a downtime during deployment?…
Distributed Systems: Will a job-processing system eventually complete every job? Will it report them all as completed?…

(Private case: will a job-processing system keep working even if one node fails? If half the nodes fail?)
Financial Systems: Can my trading algorithm trigger a Flash Crash?…
State Machines: "My code is a giant state machine, does it lead to unexpected states?" from @pkriens.…
Scientific Simulations: is the simulation accurate to the model?…

(That paper is wild. They use Alloy to determine if bizarre simulation results are actually realistic possibilities or issues with the simulation.)
Data Integrity: our data needs certain properties we can't directly enforce in the database. Does this application logic guarantee the properties hold?
If any of this stuff sounds useful to you, I write specs and run workshops for companies:

(I might also have an upcoming public workshop, too. Keep your eyes peeled!)
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Hillel
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!