What a mathematical puzzle can tell us about verifying software safety

What a mathematical puzzle can tell us about verifying software safety

How can we use mathematical proofs to guarantee software safety? In this talk, I will explore this example to see how mathematical proofs work, and discuss real-world applications in critical systems.

In software, you can find bugs when you do traditional testing. However, you can never prove their absence. You test a few cases, deploy your code, and hope for the best. For everyday apps, maybe that's fine. But what about the software controlling airplanes, medical devices, or nuclear power plants? One bug could be catastrophic.

This is where the term 'formal verification' comes into play. Formal verification is an approach where mathematical proofs are used to guarantee software correctness. Instead of running test cases, we write logical specifications of what our program should do, then mathematically prove that it meets those requirements - for every possible input, every possible state.

As a simple hands-on example we will be using the puzzle 'Tower of Hanoi' to explore what a mathematical proof looks like and how we actually use them to verify software correctness.

(Photo: Shutterstock) 

Kort og godt

Kan bookes i

Storkøbenhavn

Teknisk udstyr

I have a powerpoint presentation, so some form of projector is needed. Also a white/blackboard is nice to have, but not needed.

Emne

Teknologi og Innovation

Målgruppe

Unge (inkl. ungdomsuddannelser)
Voksne

Varighed

45 minutes

Forsker

Mathias Schack Rabing

Ansættelsessted

Copenhagen University

Titel

PhD Student

Kan bookes

mandag 20/4
formiddag eftermiddag aften
tirsdag 21/4
formiddag eftermiddag aften
onsdag 22/4
formiddag eftermiddag aften
torsdag 23/4
formiddag eftermiddag aften
fredag 24/4
formiddag eftermiddag aften
lørdag 25/4
formiddag eftermiddag aften
søndag 26/4
formiddag eftermiddag aften