Applying Formal Methods in the Large
Despite intensive research done in the area of formal methods and proof techniques, these techniques remain poorly adopted and only used in marginal situations, or in niche markets. The author has been applying formal methods in industry for a few decades now. After having managed for more than ten years a company, i.e. Trusted Logic, which is applying formal methods on critical components, he has recently funded a new company, Prove & Run, whose objective is to democratize and broaden the use of formal methods. In this presentation and based on his past experience in applying formal methods and designing formal methods he describes what he believes to be the main problems, main challenges, to be overcome for achieving this. This involves in particular applying the correct formal methods to the right piece of software in the right architecture, correctly addressing the integration into the development phase, into the maintenance phase, clearly delimiting and understanding the scope of formal methods, setting up the proper organisation, finding available expertise, being consistent with the cost and time to market requirements, using the right refinements. He will explain in particular why Prove & Run will first focus on formally verifying micro-kernels, hypervisors, and Trusted Execution Environments, and which kind of properties will be proven correct.