Inferring type definitions of user-defined types of variables in application program code
AssigneeVeracode, Inc.
InventorsBeth Cockerham, Trent Craig George Waddington
Life of this patent
Estimating the term…
Loading patent…
AssigneeVeracode, Inc.
InventorsBeth Cockerham, Trent Craig George Waddington
Estimating the term…
Type definitions of user-defined types in application program code for which definitions are absent (“unknown types”) are inferred. A static analyzer implements two passes of a fixed-point type inference algorithm. Each pass encompasses a plurality of traversals of the application's control flow to build inferred definitions of unknown types until the inferred definitions are maximally built. To build an inferred definition, based on inferring a variable is an unknown type, the static analyzer infers member variables/functions of the unknown type based on contextual information associated with the variable. Type information of unknown types is propagated along control flow paths. After the first pass terminates, unknown types can be assigned known types based on matching of inferred definitions. Inferred definitions of remaining unknown types are incorporated into the application program code. A second pass of type inferencing and data flow analysis are then performed with the inferred definitions incorporated therein.
A method comprising:
One or more non-transitory machine-readable media having program code stored thereon, the program code comprising instructions to:
An apparatus comprising:
Dependencies are inferred from the claim text.