Patch (computing)

A patch is data that is intended to be used to modify an existing software resource such as a program or a file, often to fix bugs and security vulnerabilities.[1][2][better source needed] A patch may be created to improve functionality, usability, or performance. A patch is typically provided by a vendor for updating the software that they provide.

A patch may be created manually, but commonly it is created via a tool that compares two versions of the resource and generates data that can be used to transform one to the other.

Usually, a patch must be applied to the version of the resource they are intended to modify, although in some cases, this is not required. A patching tool may support patching multiple versions by detecting the version of the existing resource and applying the appropriate patch. As more patches are released, the cumulative size of the patches may become relatively large (even larger than the resource to patch). To limit this size, the number of supported versions may be reduced, or a complete copy of the resource may be provided instead.

Patching allows for modifying a compiled (machine language) program when the source code is unavailable. This demands a thorough understanding of the inner workings of the compiled code, which is challenging without access to the source code.

Patching allows for making changes to a program without rebuilding it from source. For small changes, it can be more economical to distribute a patch than to distribute the complete resource.

Although often intended to fix problems, a poorly designed patch can introduce new problems (see software regressions). In some cases updates may knowingly break the functionality or disable a device, for instance, by removing components for which the update provider is no longer licensed.

Patch management is a part of lifecycle management, and is the process of using a strategy and plan of what patches should be applied to which systems at a specified time.

Typically, a patch is applied via programmed control to computer storage so that it is permanent. In some cases a patch is applied by a programmer via a tool such as a debugger to computer memory in which case the change is lost when the resource is reloaded from storage.

  1. ^ "Microsoft issues biggest software patch on record". Reuters. 2009-10-14. Archived from the original on 16 October 2009. Retrieved 14 October 2009.
  2. ^ "What is a Bug Fix? – Definition from Techopedia". techopedia.com. Archived from the original on 2018-07-03. Retrieved 2015-07-29.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy