1. A machine readable non-transitory storage medium containing executable instructions which when executed cause a data processing system to perform a method comprising: receiving a first version of software; identifying each branch point in a set of branch points in the first version of software; and replacing, in each branch point in the set, a representation of a target of the branch point with a computed value that depends upon at least one prior computed value in a stream of instructions in the first version of software, wherein the at least one prior computed value is from a prior branch point in the set of branch points in the stream of instructions, the first version of software is an intermediate representation of a high level source code description of the software; and the target, before the replacing, is specified by one of a call name, a function name, a logical address, or a pointer.