Automatic bug fixing: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
Line 6:
 
'''Automatic bug-fixing''' is the automatic [[Patch (computing)|repair]] of [[software bug]]s without the intervention of a human programmer
<ref>Patching program errors (CACM 2008) {{DOI|10.1145/1409360.1409381}}</ref> <ref>Automated Patching Techniques: The Fix Is In (CACM 2010) {{DOI|10.1145/1735223.1735248}}</ref>. It is also commonly referred to as ''automatic patch generation'', ''automatic bug repair'', or "automatic program repair".
.<ref>Automated Patching Techniques: The Fix Is In (CACM 2010) {{DOI|10.1145/1735223.1735248}}</ref>
It is also commonly referred to as ''automatic bug repair'' or ''automatic patch generation''.
 
Techniques for automatic bug-fixing are still in their infancy, but are broadly divided into two camps depending on the way the proposed repair is evaluated: those based on [[Formal verification|formal analysis]], and those that use a generate-and-validate approach. The former usesrelies on the availability of [[formal methodsspecification]] toof the provecorrect propertiesbehavior of a program and generates a repair satisfying the specification, whilst the latter relies on the availability of a high-quality [[test suite]] or similar artifact and uses [[automated testing]] techniques to validate the outcome of the repair process.
 
==Techniques using formal verification==