Optimizing Metamorphic Testing: Prioritizing Relations Through Execution Profile Dissimilarity

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Srinivasan, Madhusudan, Kanewala, Upulee
Format: Preprint
Publié: 2024
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866909389147865088
author Srinivasan, Madhusudan
Kanewala, Upulee
author_facet Srinivasan, Madhusudan
Kanewala, Upulee
contents An oracle determines whether the output of a program for executed test cases is correct. For machine learning programs, such an oracle is often unavailable or impractical to apply. Metamorphic testing addresses this by using metamorphic relations (MRs), which are essential properties of the software under test, to verify program correctness. Prioritizing MRs enhances fault detection effectiveness and improves testing efficiency. However, fault-based MR prioritization is costly, and code coverage-based approaches often yield inaccurate results. To address these challenges, we propose a statement centrality-based prioritization approach that leverages diversity in the execution profiles of source and follow-up test cases. Our approach improves fault detection effectiveness by up to 31% compared to code coverage-based methods and reduces fault detection time by 29% compared to random MR execution. Overall, it increases the average fault detection rate, reduces fault detection time, and enhances testing efficiency.
format Preprint
id arxiv_https___arxiv_org_abs_2411_09171
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Optimizing Metamorphic Testing: Prioritizing Relations Through Execution Profile Dissimilarity
Srinivasan, Madhusudan
Kanewala, Upulee
Software Engineering
An oracle determines whether the output of a program for executed test cases is correct. For machine learning programs, such an oracle is often unavailable or impractical to apply. Metamorphic testing addresses this by using metamorphic relations (MRs), which are essential properties of the software under test, to verify program correctness. Prioritizing MRs enhances fault detection effectiveness and improves testing efficiency. However, fault-based MR prioritization is costly, and code coverage-based approaches often yield inaccurate results. To address these challenges, we propose a statement centrality-based prioritization approach that leverages diversity in the execution profiles of source and follow-up test cases. Our approach improves fault detection effectiveness by up to 31% compared to code coverage-based methods and reduces fault detection time by 29% compared to random MR execution. Overall, it increases the average fault detection rate, reduces fault detection time, and enhances testing efficiency.
title Optimizing Metamorphic Testing: Prioritizing Relations Through Execution Profile Dissimilarity
topic Software Engineering
url https://arxiv.org/abs/2411.09171