1. A computerized method of analyzing code of a software program for dominance relationships between a plurality of functions of the software program, the method comprising: receiving, at a computer including at least one processor and memory, a first file including a source code of a software program, the source code having a plurality of functions; identifying a plurality of intraprocedural dominator graphs each for another of the plurality of functions of the source code; combining, by the at least one processor, the plurality of intraprocedural dominator graphs to create a combined interprocedural dominance graph with edges that logically connect between nodes of the plurality of functions of the source code; identifying, by the at least one processor, a plurality of interprocedural dominance relations between nodes in different functions of the plurality of functions using the combined interprocedural dominance graph; computing a static single assignment (SSA) form based on the plurality of interprocedural dominance relations; storing a representation of the interprocedural dominance relations and the computed SSA on the memory in a second file; and analyzing the received software program according to the plurality of interprocedural dominance relations and the computed SSA by accessing the second file.