Onur Kasimlar

AI Meets Hoare Logic: Revolutionizing Software Testing with Formal Methods

Go beyond testing. Use AI and formal methods to mathematically prove your software is correct for all possible inputs.

AI Meets Hoare Logic: Revolutionizing Software Testing with Formal Methods
#1about 3 minutes

The case for software verification in the AI era

AI-generated code is probabilistic and requires more than traditional testing, creating a need for formal software verification to ensure correctness.

#2about 3 minutes

Understanding the difference between testing and verification

Software testing finds errors through execution with selected inputs, while formal verification provides a complete mathematical proof of correctness for all inputs.

#3about 6 minutes

A primer on Hoare Logic and its core axioms

Hoare Logic uses preconditions, postconditions, and axioms like assignment and composition to formally prove that a piece of code behaves as specified.

#4about 1 minute

Current tools and applications for software verification

Modern verification relies on tools like SMT solvers and model checkers and is primarily used in critical systems like aerospace due to its high manual effort.

#5about 4 minutes

Verifying a binary search algorithm with OpenJML

A practical demonstration shows how to use OpenJML annotations like 'requires' and 'ensures' to formally verify a Java binary search implementation.

#6about 3 minutes

Using AI to generate formal verification proofs

AI tools like Gemini can generate verification annotations but may introduce subtle errors, highlighting the need for human oversight in this new validation workflow.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.