A method for software update management is described. The method comprises: comparing sub-files of a plurality of variants of a software program to generate difference information including a list of uncommon sub-files among the plurality of variants; generating one or more increment files based on the difference information and files of a target version of the software program; and transmitting the one or more increment files to a device, wherein the transmission enables the device to merge the one or more increment files with files of one of the plurality of variants to generate files of the target version of the software program.