| CPC G06F 9/3838 (2013.01) [G06F 9/3897 (2013.01); G06F 11/3608 (2013.01)] | 16 Claims |

|
1. A method for monitoring an executable code adapted to be executed on a computer platform, the executable code comprising a sequence of software instructions,
the method being implemented by an electronic monitoring device and comprising:
acquiring the sequence of software instructions;
generating a first modeling structure of an execution path of the sequence of instructions, with the first structure being generated from the sequence of instructions and including a plurality of first groups of data, each of the first groups of data being associated with a respective software instruction and including an identifier of a previous instruction and an identifier of a following instruction;
calculating a second modelling structure of an operation of the sequence of instructions, the second structure comprising a plurality of second groups of data, each of the second groups of data being associated with the respective software instruction and comprising an indicator of possibly belonging to a specific critical chain of instructions, and in a case of belonging to a respective critical chain, of a plurality of respective chains, an identifier of an initial instruction of said respective critical chain;
the second structure being created from the first structure by successively going through the first groups of data;
computing the respective critical chain, of the plurality of respective chains, corresponding to instructions of a same software function, by solving a subgraph problem with degree constraints, each of the plurality of respective critical chains corresponding to a subgraph, a number of instructions included in each of the plurality of respective critical chains being less than or equal to a predefined maximum number, and an optimization parameter being a number of relationships between the instructions included in each of the respective critical chains, said number of relationships corresponding to a number of arcs in a related subgraph; and
searching for runtime anomaly/anomalies from one or more critical chains of instructions determined via the second modeling structure.
|