1. A computing method for performing file differencing using at least one processor and a memory, comprising: identifying a plurality of regions in an original version of software image and in a new version of a software image using the at least one processor, wherein the plurality of regions comprise compact functional differences (CFD) preprocessing regions, wherein the CFD preprocessing regions comprise at least one table of pointers; and preprocessing the plurality of regions using the at least one processor, comprising, examining the plurality of regions in the original version and the new version; identifying matching paths in the new version and the old version using approximate matching techniques; analyzing differences between corresponding regions in the new version and the old version; and describing the differences using a transformation that depends on values of groups of N bytes in the corresponding regions.