1. A system, comprising: a set of one or more processors programmed with instructions to: receive a pre-existing binary file previously built from a plurality of intermediate components previously created from source code; create a cross reference map of at least some of the intermediate components within the pre-existing binary file, wherein the intermediate components are associated based on calls; determine an address space distance for each call in the cross reference map; define a set of estimated boundaries in the cross reference map by at least one of (1) inserting links in the cross reference map based on the address space distance and (2) pruning links in the cross reference map based on the address space distance; define subsets as portions of the pre-existing binary file that are separated by the set of estimated boundaries; and provide as output, a listing of at least some of the defined subsets, wherein at least some of the output subsets correspond to program structure; and a memory coupled to the set of one or more processors and configured to provide the set of one or more processors with instructions.