1. A computer-implemented method comprising: obtaining an execution trace of an application program, wherein the execution trace comprises a sequence of ordered programming instructions generated during execution of the application program indicating an execution flow of the application program; partitioning the sequence of ordered programming instructions into a plurality of linked code segments comprising first and second code segments, wherein the first code segment comprises a terminating programming instruction that terminates the first code segment and links the first code segment to an initial programming instruction of the second code segment; incrementing a counter each time the sequence of ordered programming instructions indicates that the execution flow transitioned directly from the first code segment to the second code segment; generating a directed graph representing the execution flow of the application program between the plurality of linked code segments, wherein the directed graph comprises a plurality of linked nodes representing the plurality of linked code segments; outputting the directed graph to a graphical user interface (GUI) for display; notifying the GUI to display the counter adjacent to first and second nodes corresponding to the first and second code segments, respectively; responsive to a user selecting a node of the plurality of linked nodes within the GUI, outputting, to the GUI, source code of the application program from which the ordered programming instructions in the linked code segment corresponding to the selected node was generated; converting the directed graph into a document formatted according to a document markup language; storing the document in memory circuitry; notifying a display to clear the GUI; and responsive to a user selecting the document, recreating the directed graph from the document and outputting the recreated directed graph to the GUI for display.