scholarly journals Modification Point Aware Test Prioritization and Sampling to Improve Patch Validation in Automatic Program Repair

2020 ◽  
Vol 10 (5) ◽  
pp. 1593 ◽  
Author(s):  
Yazhini Venugopal ◽  
Phung Quang-Ngoc ◽  
Lee Eunseok

Recently, Automatic Program Repair (APR) has shown a high capability of repairing software bugs automatically. In general, most of the APR techniques require test suites to validate automatically generated patches. However, the test suites used for patch validation might contain thousands of test cases. Running these whole test suites to validate every program variant makes the validation process not only time-consuming but also expensive. To mitigate this issue and to enhance the patch validation in APR, we introduce (1) MPTPS (Modification Point-aware Test Prioritization and Sampling), which iteratively records test execution. Based on the failed test information, it performs test prioritization, then sampling to reduce the test execution time by moving forward the test cases that are most likely to fail in the test suite; and (2) a new fitness function that refines the existing one to improve repair efficiency. We implemented our MPPEngine approach in the Astor workspace by extending jGenProg. And the experiments on the Defects4j benchmark against jGenProg show that, on average, jGenProg consumes 79.27 s to validate one program variant, where MPPEngine takes only 33.70 s for results in 57.50% of validation time reduction. Also, MPPEngine outperforms jGenProg by finding patches for six more bugs than jGenProg.

2021 ◽  
Vol 171 ◽  
pp. 110825
Author(s):  
He Ye ◽  
Matias Martinez ◽  
Thomas Durieux ◽  
Martin Monperrus

Sign in / Sign up

Export Citation Format

Share Document