Patent Document ID: 9195458
Application ID: 13955017
Patent Flag: 1

Claim One:
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 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 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 a plurality of interprocedural dominance relations between nodes in different functions of the plurality of functions of the source code using the combined interprocedural dominance graph; and analyzing the received software program according to the plurality of interprocedural dominance relations; wherein the method further comprises: identifying one or more interprocedural dominance candidates in the combined intraprocedural dominator graph; computing an interprocedural dominator set for each of the interprocedural dominance candidates; and wherein combining comprises computing the combined interprocedural dominance graph by logically adding interprocedural edges between the one or more interprocedural dominance candidates and one or more dominators from the interprocedural dominator set.