A metamorphic testing approach for supporting program repair without the need for a test oracle

Test suite based automated program repair (APR) relies on a test oracle to determine the execution result of individual test cases. The applicability of APR techniques, therefore, is limited by the fact that test oracles may not exist. Metamorphic Testing (MT) is a testing approach that, rather than...

Full description

Bibliographic Details
Main Authors: Jiang, Mingyue, Chen, Tsong Yueh, Kuo, Fei-Ching, Towey, Dave, Ding, Zuohua
Format: Article
Published: Elsevier 2016
Subjects:
Online Access:https://eprints.nottingham.ac.uk/47491/
_version_ 1848797560295129088
author Jiang, Mingyue
Chen, Tsong Yueh
Kuo, Fei-Ching
Towey, Dave
Ding, Zuohua
author_facet Jiang, Mingyue
Chen, Tsong Yueh
Kuo, Fei-Ching
Towey, Dave
Ding, Zuohua
author_sort Jiang, Mingyue
building Nottingham Research Data Repository
collection Online Access
description Test suite based automated program repair (APR) relies on a test oracle to determine the execution result of individual test cases. The applicability of APR techniques, therefore, is limited by the fact that test oracles may not exist. Metamorphic Testing (MT) is a testing approach that, rather than checking the correctness of individual test outputs, checks testing results through verification of relations among multiple test cases and their outputs: MT can therefore be applied without test oracles. This paper presents an integration of MT with APR that enables application of APR without the need for a test oracle. Two important issues for this integration which have been thoroughly investigated and addressed are: (1) feasibility — which is addressed by proposing a framework to support the integration, and then presenting MT-GenProg, a tool incorporating MT with the popular APR technique GenProg; and (2) effectiveness — which is confirmed through an empirical study of GenProg and MT-GenProg on 1,143 program versions from the IntroClass benchmark suite, demonstrating MT-GenProg’s comparable performance to GenProg, in terms of repair effectiveness. We conclude that the proposed integration is both practically feasible and effective, and thus successfully extends APR techniques to a broader application domain.
first_indexed 2025-11-14T20:05:49Z
format Article
id nottingham-47491
institution University of Nottingham Malaysia Campus
institution_category Local University
last_indexed 2025-11-14T20:05:49Z
publishDate 2016
publisher Elsevier
recordtype eprints
repository_type Digital Repository
spelling nottingham-474912020-04-29T15:23:39Z https://eprints.nottingham.ac.uk/47491/ A metamorphic testing approach for supporting program repair without the need for a test oracle Jiang, Mingyue Chen, Tsong Yueh Kuo, Fei-Ching Towey, Dave Ding, Zuohua Test suite based automated program repair (APR) relies on a test oracle to determine the execution result of individual test cases. The applicability of APR techniques, therefore, is limited by the fact that test oracles may not exist. Metamorphic Testing (MT) is a testing approach that, rather than checking the correctness of individual test outputs, checks testing results through verification of relations among multiple test cases and their outputs: MT can therefore be applied without test oracles. This paper presents an integration of MT with APR that enables application of APR without the need for a test oracle. Two important issues for this integration which have been thoroughly investigated and addressed are: (1) feasibility — which is addressed by proposing a framework to support the integration, and then presenting MT-GenProg, a tool incorporating MT with the popular APR technique GenProg; and (2) effectiveness — which is confirmed through an empirical study of GenProg and MT-GenProg on 1,143 program versions from the IntroClass benchmark suite, demonstrating MT-GenProg’s comparable performance to GenProg, in terms of repair effectiveness. We conclude that the proposed integration is both practically feasible and effective, and thus successfully extends APR techniques to a broader application domain. Elsevier 2016-04-13 Article PeerReviewed Jiang, Mingyue, Chen, Tsong Yueh, Kuo, Fei-Ching, Towey, Dave and Ding, Zuohua (2016) A metamorphic testing approach for supporting program repair without the need for a test oracle. Journal of Systems and Software, 126 . pp. 127-140. ISSN 1873-1228 Test suite based automated program repair; Test oracle; Metamorphic testing http://www.sciencedirect.com/science/article/pii/S0164121216300206 doi:10.1016/j.jss.2016.04.002 doi:10.1016/j.jss.2016.04.002
spellingShingle Test suite based automated program repair; Test oracle; Metamorphic testing
Jiang, Mingyue
Chen, Tsong Yueh
Kuo, Fei-Ching
Towey, Dave
Ding, Zuohua
A metamorphic testing approach for supporting program repair without the need for a test oracle
title A metamorphic testing approach for supporting program repair without the need for a test oracle
title_full A metamorphic testing approach for supporting program repair without the need for a test oracle
title_fullStr A metamorphic testing approach for supporting program repair without the need for a test oracle
title_full_unstemmed A metamorphic testing approach for supporting program repair without the need for a test oracle
title_short A metamorphic testing approach for supporting program repair without the need for a test oracle
title_sort metamorphic testing approach for supporting program repair without the need for a test oracle
topic Test suite based automated program repair; Test oracle; Metamorphic testing
url https://eprints.nottingham.ac.uk/47491/
https://eprints.nottingham.ac.uk/47491/
https://eprints.nottingham.ac.uk/47491/