US 12,248,787 B2
Method and electronic device for monitoring executable code adapted to be executed on a computer platform, and computer program implementing such a method
Mihail Asavoae, Gif sur Yvette (FR); and Mathieu Jan, Gif sur Yvette (FR)
Assigned to Commissariat à l'énergie atomique et aux énergies alternatives, Paris (FR)
Filed by Commissariat à l'énergie atomique et aux énergies alternatives, Paris (FR)
Filed on Mar. 17, 2022, as Appl. No. 17/655,243.
Claims priority of application No. 21 03046 (FR), filed on Mar. 25, 2021.
Prior Publication US 2022/0308885 A1, Sep. 29, 2022
Int. Cl. G06F 9/38 (2018.01); G06F 11/36 (2006.01); G06F 11/3604 (2025.01)
CPC G06F 9/3838 (2013.01) [G06F 9/3897 (2013.01); G06F 11/3608 (2013.01)] 16 Claims
OG exemplary drawing
 
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.