Open Access
ARTICLE
METARO3: Metamorphic Relation Group for Automatic Program Repair
Tingting Wu1, Yunwei Dong1,*
1 School of Computer Science and Engineering, Northwestern Polytechnical University, Xi’an, 710072, China.
* Corresponding Author: Yunwei Dong. Email: .
Computer Modeling in Engineering & Sciences 2019, 121(3), 909-928. https://doi.org/10.32604/cmes.2019.07809
Abstract
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 METARO
3
, 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, which helps shorten the
repair time of finding a patch. To demonstrate the feasibility and procedure of our approach,
an illustration example was conducted. The results show that METARO
3
can improve the
effectiveness of APR-MT significantly.
Keywords
Cite This Article
Wu, T., Dong, Y. (2019). METARO
3: Metamorphic Relation Group for Automatic Program Repair.
CMES-Computer Modeling in Engineering & Sciences, 121(3), 909–928. https://doi.org/10.32604/cmes.2019.07809