Fast and precise on-the-fly patch validation for all

Lingchao Chen, Yicheng Ouyang, Lingming Zhang

Research output: Chapter in Book/Report/Conference proceedingConference contribution


Generate-and-validate (G&V) automated program repair (APR) techniques have been extensively studied during the past decade. Meanwhile, such techniques can be extremely time-consuming due to the manipulation of program code to fabricate a large number of patches and also the repeated test executions on patches to identify potential fixes. PraPR, a recentG furthermore, UniAPR addresses the imprecise patch validation issue by resetting the JVM global state via runtime bytecode transformation. We have implemented UniAPR as a publicly available fully automated Maven Plugin. Our study demonstrates for the first time that on-the-fly patch validation can often speed up state-of-the-art source-code-level APR by over an order of magnitude, enabling all existing APR techniques to explore a larger search space to fix more bugs in the near future. Furthermore, our study shows the first empirical evidence that vanilla on-the-fly patch validation can be imprecise/unsound, while UniAPR with JVM reset is able to mitigate such issues with negligible overhead.

Original languageEnglish (US)
Title of host publicationProceedings - 2021 IEEE/ACM 43rd International Conference on Software Engineering, ICSE 2021
PublisherIEEE Computer Society
Number of pages12
ISBN (Electronic)9780738113197
ISBN (Print)978-1-6654-0296-5
StatePublished - May 2021
Event43rd IEEE/ACM International Conference on Software Engineering, ICSE 2021 - Virtual, Online, Spain
Duration: May 22 2021May 30 2021

Publication series

NameProceedings - International Conference on Software Engineering
ISSN (Print)0270-5257


Conference43rd IEEE/ACM International Conference on Software Engineering, ICSE 2021
CityVirtual, Online


  • Runtime
  • Computer bugs
  • Maintenance engineering
  • Tools

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Fast and precise on-the-fly patch validation for all'. Together they form a unique fingerprint.

Cite this