Slide 3
Slide 3 text
What are formal methods and why should
you consider them?
« Engineers naturally focus on designing the ‘happy case’ for a
system, i.e. the processing path in which no errors occur. […]
That code path must solve the customer’s problem, perform well, make
efficient use of resources, and scale with the business; these are all
significant challenges in their own right.
Once the design for the happy case is done, the engineer then tries to
think of “what might go wrong?”, based on personal experience and
that of colleagues and reviewers. The engineer then adds mitigations
for these classes of scenarios, prioritized by intuition and perhaps
some statistics on the probability of occurrence. »
Use of formal methods at Amazon Web Services (2014)
Chris Newcombe, Tim Rath, Fan Zhang, Bogdan Munteanu, Marc Brooker, Michael Deardeuff