Metaro3: Metamorphic Relation Group for Automatic Program Repair
The application of metamorphic testing (MT) on automatic program repair (APR-MT) is used to generate a patch without test oracles by examining whether the input metamorphic relation (MR) is satisfied or not. However, the delivered patch is plausible since it may satisfy the input MR but violate other MRs. This inspires us to propose an improved approach to enhance the effectiveness of APR-MT with metamorphic relation group. Our approach involves three major steps. First, we formally define the repair process of APR-MT by building the model of automatic program repair and metamorphic testing separately.
Then, we propose the advanced model of automatic program repair based on metamorphic relation group, named Metaro3, which takes several MRs as input while only one MR is used in APR-MT. We additionally present two kinds of selection strategies to rank MRs in descending order of the fault detection capability. To demonstrate the feasibility and procedure of our approach, an illustration example was conducted. The results show that Metaro3 can improve the effectiveness of APR-MT significantly.
This work is licensed under a Creative Commons Attribution 4.0 International License.
Articles published by TSP are under an Open Access license, which means all articles published by TSP are accessible online free of charge and as free of technical and legal barriers to everyone. Published materials can be re-used if properly acknowledged and cited Open Access publication is supported by the authors' institutes or research funding agencies by payment of a comparatively low Article Processing Charge (APC) for accepted articles.