CFAAR: Control Flow Alteration to Assist Repair
Chadi Trad, Rawad Abou Assi, Wes Masri, and Fadi Zaraket

TL;DR
CFAAR is a program repair technique that automatically identifies and alters suspicious predicates to fix defects, generating patches or assisting developers in repair.
Contribution
It introduces a novel approach combining predicate analysis, classifier synthesis, and decision trees to assist in program repair.
Findings
Identified 91 candidate defects from benchmarks.
Generated plausible patches for 41 defects.
12 patches are believed to be correct.
Abstract
We present CFAAR, a program repair assistance technique that operates by selectively altering the outcome of suspicious predicates in order to yield expected behavior. CFAAR is applicable to defects that are repairable by negating predicates under specific conditions. CFAAR proceeds as follows: 1) it identifies predicates such that negating them at given instances would make the failing tests exhibit correct behavior; 2) for each candidate predicate, it uses the program state information to build a classifier that dictates when the predicate should be negated; 3) for each classifier, it leverages a Decision Tree to synthesize a patch to be presented to the developer. We evaluated our toolset using 149 defects from the IntroClass and Siemens benchmarks. CFAAR identified 91 potential candidate defects and generated plausible patches for 41 of them. Twelve of the patches are believed to be…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
