Static profiling with graph neural networks
AssigneeOracle International Corporation
InventorsVojin JOVANOVIC, Milan CUGUROVIC, Lazar MILIKIC
Life of this patent
Estimating the term…
Abstract
A method implements static profiling with graph neural networks. The method includes executing a block model with a control flow graph to generate a block vector corresponding to a block of the control flow graph of source code. The method further includes executing a graph neural network model with the control flow graph and the block vector to generate a graph vector. The method further includes executing a feed-forward neural network with the graph vector to generate a branch-frequency prediction. The method further includes incorporating the branch-frequency prediction into a code profile.
Claims20
A method comprising:
- executing a block model with a control flow graph to generate a block vector corresponding to a block of the control flow graph of source code;
- executing a graph neural network model with the control flow graph and the block vector to generate a graph vector;
- executing a feed-forward neural network with the graph vector to generate a branch-frequency prediction;
- and
- incorporating the branch-frequency prediction into a code profile.
A system comprising:
- at least one processor;
- and
- an application that, when executing on the at least one processor, performs operations comprising:
- executing a block model with a control flow graph to generate a block vector corresponding to a block of the control flow graph of source code,
- executing a graph neural network model with the control flow graph and the block vector to generate a graph vector,
- executing a feed-forward neural network with the graph vector to generate a branch-frequency prediction, and
- incorporating the branch-frequency prediction into a code profile.
A non-transitory computer readable medium comprising instructions executable by at least one processor to perform:
- executing a block model with a control flow graph to generate a block vector corresponding to a block of the control flow graph of source code;
- executing a graph neural network model with the control flow graph and the block vector to generate a graph vector;
- executing a feed-forward neural network with the graph vector to generate a branch-frequency prediction;
- and
- incorporating the branch-frequency prediction into a code profile.
Dependencies are inferred from the claim text.