Patent ID: 9697102
Date: 2017-07-04
CPC Classifications: G06F

Claim:
1. A computer-implemented method comprising: defining a thread flow marker class for a source code, the thread flow marker class configured to identify markers for classes of objects in the source code and determine an order of thread execution from the classes of objects using the markers; embedding a plurality of markers of the thread flow marker class in a class of interest or in places of interest within the class of interest in the source code, wherein a first marker of the plurality of markers is embedded at a first position in the source code and a second marker of the plurality of markers is embedded at a second position in the source code; defining a vector for the thread flow marker class; determining that a first thread has executed a first portion of the source code corresponding to the first position; writing to the vector a first integer value corresponding to the first marker; determining that a second thread has executed a second portion of the source code corresponding to the second position; writing to the vector a second integer value corresponding to the second marker; performing a thread dump and a heap dump of the executed source code; identifying a sequence of integer values from the vector in response to the thread dump and heap dump, wherein the sequence of integer values comprises the first integer value and the second integer value; and determining an order of execution of a plurality of concurrent threads from the executed source code based at least in part on the sequence of integer values from the vector, wherein the plurality of concurrent threads comprises at least the first thread and the second thread; and tracking, using a hardware processor of a machine, a flow of data from the plurality of concurrent threads based at least in part on the order of execution of the plurality of concurrent threads.