News for hackers. Stuff that matters.
Re:Introduction to TLA+ Model Checking in the Command Line by onefuncman on Friday January 18, 2019 @01:22AM (#18937416)
Have any cloud providers or open source projects started publishing their proofs of correctness yet?

Is it cheaper to hire someone who knows TLA+ or to find a consultant?

Re:Introduction to TLA+ Model Checking in the Command Line by Twirrim on Friday January 18, 2019 @01:53AM (#18937519)
I haven't seen Amazon publish any, but various teams in AWS use TLA+ for critical parts of their infrastructure.

A service I worked for there used it for an "absolutely must not make a mistake" component. Even with the initial learning curve of TLA+, two engineers were able to define the application logic, identify bugs and come to a final model in comparatively short order. Once they'd got that final model they found it relatively easy to translate that in to the final service code.

By the time they were done, they realised they'd actually spent less time in total, TLA & coding, than they'd anticipated just building the component from scratch without TLA+.

Re:Introduction to TLA+ Model Checking in the Command Line by SEJeff on Friday January 18, 2019 @09:11AM (#18939376)
The architect of AWS, James Hamilton, is a huge fan of formal verification and has spoken about it at length.

https://perspectives.mvdirona.com/2014/07/challenges-in-desi...

http://lamport.azurewebsites.net/tla/amazon-excerpt.html

Re:Introduction to TLA+ Model Checking in the Command Line by Twirrim on Friday January 18, 2019 @11:16AM (#18940300)
Indeed. As I recall, he was really happy to hear my team was using it for the component.
Re:Introduction to TLA+ Model Checking in the Command Line by uluyol on Friday January 18, 2019 @03:05AM (#18937745)
My understanding is that TLA+ is primarily used for model checking not correctness proofs. I've dug around for TLA+ proofs and found only simple examples.

That being said, model checking alone is really powerful and can uncover serious design flaws.

Re:Introduction to TLA+ Model Checking in the Command Line by pron on Friday January 18, 2019 @07:09AM (#18938725)
You can find some big deductive proofs here: https://members.loria.fr/SMerz/papers.html

But you're right that deductive proofs are hardly ever worth the effort when you have a model checker. If you can get 99.99999% confidence for essentially free, most people wouldn't pay extra months of work to get to 99.999999% confidence.

Re:Introduction to TLA+ Model Checking in the Command Line by ashish_negi_ on Friday January 18, 2019 @10:18AM (#18939843)
Cosmosdb is Microsoft multi model, multi master, geo database with five consistency levels for performance.

https://github.com/Azure/azure-cosmos-tla

Re:Introduction to TLA+ Model Checking in the Command Line by Sorrop on Friday January 18, 2019 @02:02AM (#18937544)
Re:Introduction to TLA+ Model Checking in the Command Line by nickpsecurity on Friday January 18, 2019 @02:01AM (#18937539)
SPIN has long been used for similar stuff in academia and industry. They have published a lot of their specs and results.

http://spinroot.com/spin/whatispin.html

http://www.imm.dtu.dk/~albl/promela.html

There were many projects using Pi Calculus, too. One of my project ideas is something that converts TLA+ to SPIN and Pi Calculus to use their tools and works. Or just otherwise integrates them.

Re:Introduction to TLA+ Model Checking in the Command Line by Karrot_Kream on Friday January 18, 2019 @03:47AM (#18937950)
Which model checkers use Pi Calculus? I've thought about learning Pi Calculus but an much less interested if there's no checker.
Re:Introduction to TLA+ Model Checking in the Command Line by pron on Friday January 18, 2019 @07:13AM (#18938742)
I don't think TLA+ is far too expressive to translate to Promela. There are, however, tools that translate subsets of TLA+ to ProB: https://www3.hhu.de/stups/prob/index.php/TLA
Re:Introduction to TLA+ Model Checking in the Command Line by hwayne on Friday January 18, 2019 @11:44AM (#18940529)
Yup, here's some good ones! https://github.com/elastic/elasticsearch-formal-models

Along with someone fixing a bug well before someone found the bug in the wild: https://github.com/elastic/elasticsearch/issues/31976#issuec...

Re:Introduction to TLA+ Model Checking in the Command Line by pron on Friday January 18, 2019 @07:45AM (#18938899)
1. You can find plenty of examples, some for production systems (Elasticsearch, some algorithms in the Linux kernel) on the TLA+ subreddit: https://www.reddit.com/r/tlaplus/

2. Learning TLA+ from available tutorials until you can write serious specs of real systems takes 2-4 weeks (part time); achieving the same competence level in a full-time workshop takes 3-5 days.