Mathematically Proven Code
Conference Year
2023
Abstract
Computers always do what they are told, but how do you know you told them what you meant? This is the purpose of formal verification, the art of proving the correctness of code using mathematics. Using the Lean Theorem Prover, we construct theorems and proofs that verify the correctness of the translation of regular expressions into finite automata. This translation is a key step in the construction of efficient search algorithms used in a variety of thechnologies from text editing to ad-blockers.
Primary Faculty Mentor Name
Francois Dorais
Status
Undergraduate
Student College
College of Engineering and Mathematical Sciences
Program/Major
Computer Science
Second Program/Major
Data Science
Primary Research Category
Engineering and Math Science
Mathematically Proven Code
Computers always do what they are told, but how do you know you told them what you meant? This is the purpose of formal verification, the art of proving the correctness of code using mathematics. Using the Lean Theorem Prover, we construct theorems and proofs that verify the correctness of the translation of regular expressions into finite automata. This translation is a key step in the construction of efficient search algorithms used in a variety of thechnologies from text editing to ad-blockers.