Infrastructure rule generation
AssigneeEntit Software LLC
InventorsAlvaro Munoz Sanchez, Yekaterina Tsipenyuk O'Neil
Life of this patent
Estimating the term…
Abstract
In one implementation, a system can comprise a probe monitor engine to monitor a probe passed to a function of a set of instructions, a propagation engine to identify an infrastructure connection based on an attribute of the probe during a runtime session, and a rule engine to generate an infrastructure rule based on the infrastructure connection and the attribute of the probe.
Claims16
A system comprising:
- a processor;
- and
- a non-transitory storage medium storing instructions executable on the processor to:
- receive information of a probe passed to a function of a set of instructions, the probe having a predetermined value;
- identify an infrastructure connection based on an attribute of the probe during a runtime session, the set of instructions to execute during the runtime session, the infrastructure connection comprising a connection from a first program code of the set of instructions to a second program code based on monitoring information from the probe as the probe propagates during the execution of the set of instructions, the information monitored based on an exchange of data between a first set of instructions and a second set of instructions;
- generate an infrastructure rule based on the infrastructure connection and the attribute of the probe;
- and
- provide the infrastructure rule to a static analysis tool for use in a static analysis of the set of instructions by the static analysis tool.
A non-transitory computer readable storage medium comprising instructions executable by one or more processors to:
- cause a first program code to execute with a probe as input, the first program code linked to a second program code and the probe comprising a unique value;
- receive monitored information from the probe during a runtime session of the first program code, the monitored information based on an exchange of data between a first set of instructions and a second set of instructions, as the probe propagates during tine execution of the first program code;
- identify an infrastructure connection between the first program code and the second program code based on the monitored information from the probe;
- and
- generate an infrastructure rule associated with the second program code based on the infrastructure connection and the monitored information from the probe,
- wherein generating the infrastructure rule comprises determining the infrastructure rule based on a first reflection of the probe at a function slot the probe comprising a predetermined string prepared as probe argument.
A method executed by one or more hardware processors to implement a process of analyzing code, comprising:
- receiving monitor information of a probe based on an exchange of data between a first set of instructions and a second set of instructions as the probe propagates during an execution of a program, wherein receiving the monitor information of the probe comprises causing a scanner to gather probe data from the probe at a function slot;
- identifying a connection based on the exchange of the data, wherein identifying the connection comprises modeling an infrastructure of the first set of instructions and the second set of instructions;
- identifying a reflection of the probe, the reflection comprising a difference between a first state of the probe as an input argument and a second state of the probe as an output argument, wherein the probe data includes the reflection of the probe, and identifying the reflection comprises modeling a dataflow of the second set of instructions;
- generating an infrastructure rule based on the connection and the reflection;
- and providing the infrastructure rule to a static analysis tool for use in a static analysis of the first set of instructions by the static analysis tool.
A method executed by one or more hardware processors to implement a process of analyzing code, comprising:
- receiving monitor information of a probe based on an exchange of data between a first set of instructions and a second set of instructions as the probe propagates during an execution of a program;
- identifying a connection based on the exchange of the data;
- identifying a reflection of the probe, the reflection being a difference between a first state of the probe as an input argument and a second state of the probe as an output argument;
- generating an infrastructure rule based on the connection and the reflection;
- requesting an agent to execute a runtime test of the second set of instructions;
- causing execution of the first set of instructions with the probe as an argument;
- causing the agent to analyze a communication from a scanner to produce the monitor information based on the exchange of data;
- and
- providing the infrastructure rule to a static analyzer to perform a static analysis of the first set of instructions, wherein identifying the connection and identifying the reflection of the probe arc performed by the agent, the probe comprising a cyclic pattern, and the reflection describing a location of the difference between the first state and the second state.
A non-transitory computer readable storage medium comprising instructions executable by a one or more processors to:
- receive monitor information of a probe based on an exchange of data between a first set of instructions and a second set of instructions as the probe propagates during an execution of a program;
- identify a connection based on the exchange of the data;
- identify a reflection of the probe, the reflection being a difference between a first state of the probe as an input argument and a second state of the probe as an output argument;
- generate an infrastructure rule based on the connection and the reflection, wherein generating the infrastructure rule comprises:
- mapping the connection to a template pass-through rule;
- and customizing the template pass-through rule based on the reflection;
- and
- provide the infrastructure rule to a static analysis tool for use in a static analysis of the first set of instructions by the static analysis tool.
Dependencies are inferred from the claim text.