Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Patch (computing)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Data intended for modifying an existing software resource}} {{other uses of|Patch|topic=|Patch (disambiguation)#Computing}} {{redirect|Software update|the discontinued macOS component|Apple Software Update}} {{More footnotes|date=February 2018}} A '''patch''' is [[data]] that is intended to be used to modify an existing software resource such as a [[computer program|program]] or a [[computer file|file]], often to fix [[software bug|bugs]] and [[security vulnerability|security vulnerabilities]].<ref name="news.com">{{cite news|url=http://www.news.com.au/technology/story/0,28348,26208289-5014239,00.html |title=Microsoft issues biggest software patch on record |access-date=14 October 2009 |agency=Reuters |date=2009-10-14 |url-status=dead |archive-url=https://web.archive.org/web/20091016074048/http://www.news.com.au/technology/story/0%2C28348%2C26208289-5014239%2C00.html |archive-date=16 October 2009 }}</ref><ref>{{cite web | url = http://www.techopedia.com/definition/18105/bug-fix | title = What is a Bug Fix? β Definition from Techopedia | access-date = 2015-07-29 | website = techopedia.com | archive-date = 2018-07-03 | archive-url = https://web.archive.org/web/20180703184033/https://www.techopedia.com/definition/18105/bug-fix | url-status = live }}</ref> A patch may be created to improve functionality, [[usability]], or [[Computer performance|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. Typically, a patch needs to be applied to the specific version of the resource it is intended to modify, although there are exceptions. Some patching tools can detect the version of the existing resource and apply the appropriate patch, even if it supports multiple versions. As more patches are released, their cumulative size can grow significantly, sometimes exceeding the size of the resource itself. To manage this, the number of supported versions may be limited, or a complete copy of the resource might 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 also 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 regression]]s). 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 [[Application lifecycle management|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 [[installer|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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)