Mathematically Proven Code

Presenter's Name(s)

Kyrill Serdyuk
Brandon Wolf

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

Abstract only.

Share

COinS
 

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.