Metamorphic testing (TM) examines the relations between inputs and outputs of test runs. These relations are known as metamorphic relations (MR). Currently, MRs are handpicked and require in-depth knowledge of the System Under Test (SUT), as well as its problem domain. As a result, the identification and selection of high-quality MRs is a challenge. \citeauthor{PMR1} suggested the Predicting Metamorphic Relations (PMR) approach for automatic prediction of applicable MRs picked from a predefined list. PMR is based on a Support Vector Machine (SVM) model using features derived from the Control Flow Graphs (CFGs) of 100 Java methods. The original study of \citeauthor{PMR1} showed encouraging results, but developing classification models from CFG-related features is costly. In this paper, we aim at developing a PMR approach that is less costly without losing performance. We complement the original PMR approach by considering other than CFG-related features. We define 21 features that can be directly extracted from source code and build several classifiers, including SVM models. Our results indicate that using the original CFG-based method-level features, in particular for a SVM with random walk kernel (RWK), achieve better predictions in terms of AUC-ROC for most of the candidate MRs than our models. However, for one of the candidate MRs, using source code features achieved the best AUC-ROC result (greater than 0.8).
翻译:(TM) 检查试运行的投入和产出之间的关系。 这些关系被称为变异关系。 目前,调试者是手工挑选的,需要深入了解测试系统(SUT)及其问题领域。 因此,确定和选择高质量的调试标准是一项挑战。 作者{PMR1} 提出了预测变异关系(PMR) 方法,用于自动预测从预定义的清单中挑选的可适用调试数据。 PRMR(SVMM)基于一个支持矢量机(SVM)模型,使用来自100 Java 方法的控制流图(CFGs)的特征。 对计算结果显示令人鼓舞的结果,但开发与CFMG有关的特征的分类模型成本很高。 在本文中,我们的目标是开发一种成本更低但不会损失的PMRM(PM)方法。 我们通过考虑CMRM(S-C) 相关来源的源码之外的其他特性来补充原PMRB方法。 我们定义了21个特征,可以直接从源码中提取,并构建若干分类器,包括SVMC最高级的SMR1 模型。 我们的原始的S-RVML结果,在S-RB的原始模型中可以达到一种最高级的原始的原始的模型。