1. A method of developing a tracing solution for the execution of blocks of computer code, comprising: (i) representing each block of code of an initial tracing solution as a vertex on an initial tracing solution graph, the vertices on the initial tracing solution graph constituting an initial set of vertices; (ii) checking whether there are any redundant vertices in the initial set of vertices, comprising: for each vertex of the initial tracing solution graph: identifying all immediately preceding vertices in the initial tracing solution graph, an immediately preceding vertex being one that lies at the tail of an edge connected to the vertex; identifying all immediately succeeding vertices in the initial tracing solution graph, an immediately succeeding vertex being one that lies at the head of an edge connected to the vertex; and classifying the vertex as redundant if there is no edge that directly links an immediately preceding vertex to an immediately succeeding vertex; (iii) if there are any redundant vertices in the initial set of vertices of the initial tracing solution graph, reducing the initial tracing solution graph by eliminating at least one of the redundant vertices from the initial set of vertices of the initial tracing solution graph, thereby deriving a reduced set of vertices.