TL;DR
This study replicates and extends the PMR approach for predicting metamorphic relations in unit testing, examining its generalizability across programming languages and the impact of retraining classifiers on different codebases.
Contribution
It demonstrates the replicability of the original PMR results and investigates the model's transferability across Java, Python, and C++, highlighting the importance of language-specific training.
Findings
Replicated the original Java-based PMR results successfully.
Prediction performance drops when applying Java-trained models to Python and C++ code.
Retraining on language-specific CFGs improves prediction accuracy across different languages.
Abstract
Metamorphic Testing (MT) addresses the test oracle problem by examining the relations between inputs and outputs of test executions. Such relations are known as Metamorphic Relations (MRs). In current practice, identifying and selecting suitable MRs is usually a challenging manual task, requiring a thorough grasp of the SUT and its application domain. Thus, Kanewala et al. proposed the Predicting Metamorphic Relations (PMR) approach to automatically suggest MRs from a list of six pre-defined MRs for testing newly developed methods. PMR is based on a classification model trained on features extracted from the control-flow graph (CFG) of 100 Java methods. In our replication study, we explore the generalizability of PMR. First, we rebuild the entire preprocessing and training pipeline and repeat the original study in a close replication to verify the reported results and establish the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
