PofoliaShared via Pofolia

· 2015

An analysis of patch plausibility and correctness for generate-and-validate patch generation systems

Zichao Qi, Fan Long, Sara Achour, Martin Rinard

Short summary

A study of three automated patch generation systems found that the vast majority of reported patches were implausible (failed validation tests) and incorrect (introduced new bugs or deleted functionality), with some even creating security vulnerabilities.

AI-generated from the title and abstract; the full text is not read.

Key points

  • Majority of reported patches from GenProg, RSRepair, and AE systems were implausible, failing validation tests.
  • Overwhelming majority of reported patches were incorrect, often equivalent to deleting functionality.
  • Flawed patches introduced security vulnerabilities and eliminated desirable functionality.
  • New system Kali generated correct patches at rates comparable to prior systems with a simpler approach.
  • ClearView successfully patched 9/10 security vulnerabilities, with at least 4 confirmed correct.

AI-generated from the title and abstract; the full text is not read.

Abstract

We analyze reported patches for three existing generate-and- validate patch generation systems (GenProg, RSRepair, and AE). The basic principle behind generate-and-validate systems is to accept only plausible patches that produce correct outputs for all inputs in the validation test suite. Because of errors in the patch evaluation infrastructure, the majority of the reported patches are not plausible — they do not produce correct outputs even for the inputs in the validation test suite. The overwhelming majority of the reported patches are not correct and are equivalent to a single modification that simply deletes functionality. Observed negative effects include the introduction of security vulnerabilities and the elimination of desirable functionality. We also present Kali, a generate-and-validate patch generation system that only deletes functionality. Working with a simpler and more effectively focused search space, Kali generates at least as many correct patches as prior GenProg, RSRepair, and AE systems. Kali also generates at least as many patches that produce correct outputs for the inputs in the validation test suite as the three prior systems. We also discuss the patches produced by ClearView, a generate-and-validate binary hot patching system that lever- ages learned invariants to produce patches that enable systems to survive otherwise fatal defects and security attacks. Our analysis indicates that ClearView successfully patches 9 of the 10 security vulnerabilities used to evaluate the system. At least 4 of these patches are correct.

The authors' abstract, as published at the source., 2015 · DOI ↗

TakeawaysPremium
Ask the paperFree account

Continue with a free account

Ask the paper: 3 free questions a day about this paper; save it, get its citation, new summaries every day for your field. Takeaways are Premium.

Continue free on the web

Sign in with Google or Apple; no card needed. You come back to this paper.

On your phone:

Field: Software

SoftwareComputer Science