Visualizing program flow

Published on 18 May 2014.

A few days ago I explained how a system worked to a college. Or rather, I let a visualization program do it. The system consists of services that talk to each other over TCP. The program captured the flow of messages between services during a test run and visualized them with arrows between nodes.

I found it effective to explain how the system worked by actually showing how the different parts interacted.

A related example is understanding the difference between a recursive function and an iterative function. When I learned that in school, we drew the call stack on paper and found that the recursive function generated a triangle shape whereas the iterative function generated a linear shape. When only reading the code, you could not immediately see that.

So visualizing how a piece of code works probably works on different levels. Making visualizations might be useful.

Site proudly generated by Hakyll.