Patent ID: 7752177

Claim:
A method for detecting vulnerable sites within code of a database application, the method comprising: constructing, within a memory of a computer system, a data flow graph, having nodes corresponding to value-holders, that reflects data flow between value-holders, wherein each of said value-holders comprises code that symbolically represents a construct capable of holding a value; automatically identifying, in the data flow graph, a set of command-formation nodes that correspond to value-holders whose values are used to form database commands that the database application may submit to a database server when the database application is executed; generating output, based on the data flow graph and the identified set of command-formation nodes, for use in detecting vulnerable sites within the database application; wherein said generating said output, based on the data flow graph and the identified set of command-formation nodes, comprises determining which of the command-formation nodes, in the identified set of command-formation nodes, are vulnerable to injection threats; detecting-vulnerable sites based on whether, within the data flow graph, paths exist from user input nodes to the command-formation nodes; wherein user input nodes are nodes that correspond to value-holders whose values reflect user input that may be entered into the database application when the database application is executed in a database; wherein the step of automatically identifying a set of command-formation nodes is performed by one or more computers.