The Cosmic Turtle of Code: It’s graphs all the way down

No ratings

Presented at Shmoocon 2024 by

Are you a flat coder? What if I told you that code is actually made up of many connections, invisible to the naked eye? Sounds ridiculous, but if all you ever look at is linear source code… you might be a flat coder. Graph visualizations, on the other hand, are intuitive visual representations that match the true structure of code. If you’re really experienced in reading or reversing code, you’re probably so used to traversing forward-and-back references that you unconsciously create similar mental models… if you aren’t used to this, you probably just want to start with the graph. This talk will explore the origins of graph-based code representations and how these have evolved to help modern reverse-engineering and source code understanding workflows. We’ll go over use cases and techniques to show how graphs can speed up our ability to find code that matters, determine reachability of bugs, assess fuzzing effectiveness, and understand bug fixes. In the end we’ll talk about customizing graphs and visualizing time, as well as how to avoid the risks of useless eye candy and overwhelming viewers. Join us in debunking the notions of flat code and embracing the graphical revolution of a connected future.