  Repairing a large-scale buggy program using current automated program repair
(APR) approaches can be a time-consuming operation that requires significant
computational resources. We describe a program repair framework that
effectively handles large-scale buggy programs of industrial complexity. The
framework exploits program reduction in the form of program slicing to
eliminate parts of the code irrelevant to the bug being repaired without
adversely affecting the capability of the repair system in producing correct
patches.
  Observation-based slicing is a recently introduced, language-independent
slicing technique that shows a good effectiveness in a wide range of
applications. In this work, we show how ORBS can be effectively integrated with
APR to improve all aspects of the repair process including the fault
localization step, patch generation step, and patch validation step. The
presented repair framework indeed enhances the capability of APR by reducing
the execution cost of a test suite and the search cost for the appropriate
faulty statement corresponding to the bug being repair. Our empirical results
on the widely used Defects4J dataset reveal that a substantial improvement in
performance can be obtained without any degradation in repair quality.
