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; generating by the computing system a vulnerability alert when the monitoring determines that the forward search and the backward search reach the common node; and combining a result of the forward search and a result of the backward search, wherein the combining of the result of the forward search and of the result of the backward search comprises concatenation of the result of the forward search and an inverse of the result of the backward search.