What a mathematical puzzle can tell us about verifying software safety
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
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
Målgruppe
Varighed
45 minutesForsker
Mathias Schack RabingAnsættelsessted
Copenhagen UniversityTitel
PhD StudentKan 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 |