System and method for interprocedural analysis
AssigneeWhitesource Ltd.
InventorsAharon ABADI, Bar MAKOVITZKI, Ron SHEMER, Eugen HOROVITZ
Life of this patent
Estimating the term…
Abstract
A computer-implemented method, system and computer program product, the method comprising: obtaining computer code; abstracting the computer code to obtain abstracted computer code comprising a plurality of instructions; generating a constraint system, comprising one or more constraints on one or more entities of the abstracted computer code; obtaining a solution to the constraint system, the solution comprising one or more possible types for each entity; and creating a call graph based on the types of the entities.
Claims19
A computer-implemented method comprising:
- obtaining computer code;
- abstracting the computer code to obtain abstracted computer code comprising a plurality of instructions;
- generating a constraint system, comprising at least one constraint on an at least one entity of the abstracted computer code;
- obtaining a solution to the constraint system, the solution comprising at least one possible type for the at least one entity;
- and
- creating a call graph based on the at least one type of the at least one entity.
A computerized apparatus having a processor, the processor being configured to perform the steps of:
- obtaining computer code;
- abstracting the computer code to obtain abstracted computer code comprising a plurality of instructions;
- generating a constraint system, comprising at least one constraint on an at least one entity of the abstracted computer code;
- obtaining a solution to the constraint system, the solution comprising at least one possible type for the at least one entity;
- and
- creating a call graph based on the at least one type of the at least one entity.
A computer program product comprising a computer readable storage medium retaining program instructions, which program instructions when read by a processor, cause the processor to perform a method comprising:
- obtaining computer code;
- abstracting the computer code to obtain abstracted computer code comprising a plurality of instructions;
- generating a constraint system, comprising at least one constraint on an at least one entity of the abstracted computer code;
- obtaining a solution to the constraint system, the solution comprising at least one possible type for the at least one entity;
- and
- creating a call graph based on the at least one type of the at least one entity.
Dependencies are inferred from the claim text.