Patent ID: 11947677
Assignee: ORACLE INTERNATIONAL CORPORATION
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 14:
15. A non-transitory computer readable medium comprising computer readable program code for causing a computer system to perform operations comprising:
determining that a first non-constant value of a first variable corresponding to a first variable node of an abstract syntax tree flows into a first operator node in the abstract syntax tree, wherein the abstract syntax tree is generated from source code;
adding, to the abstract syntax tree between the first variable node and the first operator node, a first check taint node comprising functionality to:
make a first taint status determination that the first non-constant value is tainted,
return the first non-constant value to the first operator node, wherein the first operator node generates a first result value by executing a first operator using the first non-constant value, and
convey the first taint status determination to a first set taint node;

adding, to the abstract syntax tree, the first set taint node between the first operator node and a parent node of the first operator node,
wherein the first set taint node stores, based on the first taint status determination, the first result value in a first tainted object that identifies the first result value as tainted;

executing the abstract syntax tree, wherein executing the abstract syntax tree comprises processing the first check taint node and the first set taint node; and
while executing the abstract syntax tree, performing, using the abstract syntax tree, a taint analysis of the source code to identify a vulnerability in the source code.