1. A method of static source code analysis, the method comprising: performing by a computing system a forward search of source code from each of a plurality of source nodes; performing by the computing system a backward search of the source code from each of a plurality of sink nodes, wherein the forward search and the backward search are performed in parallel simultaneously; monitoring the progress of the forward search and the backward search by the computing system to determine if the forward search and the backward search intersect at a common node; and generating by the computing system a vulnerability alert when the monitoring determines that the forward search and the backward search reach the common node.