Last November Michael Meier of Dortmund University invited me to give a guest lecture on a topic of my choice in his class about reactive security. The topic we decided on was formal methods in reverse engineering. January 20th was the date of my guest lecture.
I was a bit nervous because I knew the students knew very little or nothing about formal methods and reverse engineering. I decided not to scare them away with assembly code or heavy math and to keep things general instead. The idea was to present current problems in reverse engineering caused by growing size and complexity of today’s software and how formal methods might be able to help us overcome these problems.
In the end I decided to give a brief introduction to abstract interpretation, meta languages, dynamic instrumentation, and taint tracking as four potential ways of cutting down on complexity which are all quite different.
I think the talk went rather well and I think I made the right decision with the topic. The students asked me some good questions during and after the talk and I like to believe that I did not bore them to death.
The slides of my guest lecture are available here although they are unfortunately in German language.