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.
#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.
Matching moments
01:07 MIN
Defining formal methods for software verification
When testing just doesn’t cut it
04:36 MIN
How formal verification proves code correctness
When testing just doesn’t cut it
06:52 MIN
How AI will reshape software development and documentation
Coffee with Developers - Scott Chacon on growing GitButler and the future of version control
03:26 MIN
Envisioning the future of testing with artificial intelligence
How will artificial intelligence change the future of software testing?
08:56 MIN
The need for human expertise in the era of AI code
WeAreDevelopers LIVE - Accessibility isn't magic, Longevity, Devrel in times of AI and more
02:27 MIN
Maintaining code quality with AI-generated code
The AI-Ready Stack: Rethinking the Engineering Org of the Future
02:47 MIN
Final perspectives on the future of AI in software
From Monolith Tinkering to Modern Software Development
00:48 MIN
Building human-in-the-loop systems with traceable AI
The shadows of reasoning – new design paradigms for a gen AI world
How we Build The Software of TomorrowWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Thomas Dohmke who introduced us to the future of AI – coding.This is how Thomas describes himself:I am the CEO of GitHub and drive the company’s...
Daniel Cranney
Panel Discussion: Responsible AI in Practice - Real-World Examples and ChallengesIntroductionIn the ever-evolving landscape of artificial intelligence, the concept of "responsible AI" has emerged as a cornerstone for ethical and practical AI implementation. During the WWC24 Panel discussion, three eminent experts—Mina, Bjorn Brin...
Chris Heilmann
Transforming Software Development: The Role of AI and Developer ToolsIn today's fast-paced tech landscape, AI has begun to play an increasingly significant role, reshaping the way developers create software. As we delve into this transformation, we uncover both opportunities and challenges that AI brings into the worl...
Chris Heilmann
Exploring AI: Opportunities and Risks for DevelopersIn today's rapidly evolving tech landscape, the integration of Artificial Intelligence (AI) in development presents both exciting opportunities and notable risks. This dynamic was the focus of a recent panel discussion featuring industry experts Kent...
From learning to earning
Jobs that call for the skills explored in this talk.