

How Amazon Web Services Uses Formal Methods
source link: http://brooker.co.za/blog/2015/03/29/formal.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

How Amazon Web Services Uses Formal Methods
Now in CACM.
How Amazon Web Services Uses Formal Methods is in this month's Communications of the ACM. This version isn't changed much from the versions that have been online for a few months, but it's great to see it get some more attention.
In the same issue of CACM is Leslie Lamport's Who Builds a House without Drawing Blueprints?. Fans of his writing won't find anything new in there, but it's a perspective and opinion that I love to see gain more traction.
We think in order to understand what we are doing. If we understand something, we can explain it clearly in writing. If we have not explained it in writing, then we do not know if we really understand it.
And the conclusion:
Thinking does not guarantee that you will not make mistakes. But not thinking guarantees that you will.
It's a very good take on the subject. As our experiences at Amazon have shown, specification can be an extremely powerful tool in the system designer's and programmer's toolbox. It's even more useful as a team member, where the ability to communicate particularly tough ideas formally and concisely really helps collaboration.
Other good formal methods reading this week:
- A post by Mark Callaghan about using Spin for MySQL development. I haven't spent as much time with Spin (or Promela) as I would like, but it's very interesting.
- Adrian Colyer wrote a good mini-series this week on SPL, one looking at deep bugs in distributed systems and the other at the background of SPL. He finished up with Lineage-Driven Fault Injection. All three posts, and the papers behind them, are good reading.
- Not really from this week, or this decade, or century, but still worth it - Lamport's article brought me back to What Good is Temporal Logic?, one of my favorite papers from him. It's extremely interesting to see how his thinking, and chosen framing, has evolved in the last 32 years.
Recommend
-
32
What do Formal Methods actually Guarantee? François-René Rideau
-
9
Marc's Blog Use of Formal Methods at Amazon Web Services How we're using TLA+ at AWS Late last year, we published
-
5
Where are we going from here? Software engineering needs formal methods Saturday, July 3, 2021 The job of a software engineer is not to produce code, but to solve problems; we just happen...
-
13
Is the formal methods winter about to end?Formal methods (theorem proving, model checking, static analysis, abstract interpretation, advanced type systems, program semantics, etc) have remained a relatively niche topic during the last two and...
-
10
You Already Know Formal Methods Wednesday, October 13, 2021 Formal Methods...
-
4
Using lightweight formal methods to validate a key-value storage node in Amazon S3Abstract This paper reports our experience applying lightweight formal methods...
-
3
SOSP 2021 Lightweight Formal Methods Validate a Key-Value Storage in Amazon S3暗淡了乌云O ever youthful,O ever weep...
-
7
High-Throughput, Formal-Methods-Assisted Fuzzing for LLVM [This piece is coauthored by Yuyou Fan and John Regehr] Mutation-based fuzzing i...
-
9
Formal Methods Only Solve Half My Problems At most half my problems. I have a lot of problems. The following is a one-page summary I wrote as a submission to HPTS'22. Hopefully i...
-
8
Formal-Methods-Based Bugfinding for LLVM’s AArch64 Backend [This piece is co-authored by Ryan Berger and Stefan Mada (both Utah CS undergrads), by Nader Boushehri, and by John Regehr.] An optimizin...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK