1. A method for detecting vulnerable sites vulnerable to injection threats within code of a database application, the method comprising steps of: 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 when the database application is executed; detecting the vulnerable sites vulnerable to injection threats based on whether, within the data flow graph, paths exist from user input nodes to the identified set of 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; generating output identifying the vulnerable sites; and wherein the steps are performed by one or more computing devices.