As discussed on the Slonkast Episode 23, arecently published design document on the Chromium Projects website discusses the benefits of smaller software patches and updates. Chromium developers devised a new algroithm for computing a differential file to update existing installations of the Chrome Browser.
The algorithm is called Courgette and it uses a disassembler to compare code changes at an assembly language level. The results of employing Courgette are file patches that are two orders of magnitude smaller than the browser installation, and one order of magnitude smaller than normal bsdiff methods done at the binary level. These patch files can be applied without reinstallation of the app and use much less bandwidth than traditional patch methods.