Re:Modeling Redux with TLA+
by nickpsecurity on Monday March 12, 2018 @11:59PM
(#16573805)
His main site he mentions at the end is learntla.com. That's a good tutorial for using a subset of it that will get stuff done without trying to read a bunch of books on heavier stuff. He and I both also recommend Alloy for a taste in formal methods or blueprints like fouc said since it's designed for beginners with good guides and tutorials. TLA+/PlusCal with its model-checker is better at modeling order of execution (esp concurrency/distributed) whereas Alloy's is focused on structure of your program. Finally, Design-by-Contract combined with property-based testing or AFL-style testing with properties/contracts as runtime checks is probably combo most applicable to most programming languages and situations. If you know conditionals, you can use DbC in a lots of situations.
http://alloytools.org
https://www.win.tue.nl/~wstomv/edu/2ip30/references/design-b...
https://hillelwayne.com/post/pbt-contracts/