Yuriy Brun
Professor, University of Massachusetts, USA
Automated Formal Verification
Formal verification is a promising method for building correct software.
Unfortunately, its cost is prohibitively high, and nearly all shipped
software today is unverified. I will discuss how latest breakthroughs in
natural language processing technology can help automate writing formal
verification proofs. Specifically, language models trained on corpora of
human-written proofs can either generate entire proofs or be used to guide a
search-based method for synthesizing proofs. The formal verification domain
is unique in that the proofs can be machine checked by a theorem prover. As a
result, no incorrect proof is ever returned by our systems -- either we fail
to synthesize a proof, or the proof we return is guaranteed to be correct.
This makes the formal verification domain especially well-suited for cutting
edge NLP technology, such as large-language models.