当前位置: X-MOL 学术IEEE Trans. Softw. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
GenMorph: Automatically Generating Metamorphic Relations via Genetic Programming
IEEE Transactions on Software Engineering ( IF 6.5 ) Pub Date : 2024-05-31 , DOI: 10.1109/tse.2024.3407840
Jon Ayerdi 1 , Valerio Terragni 2 , Gunel Jahangirova 3 , Aitor Arrieta 1 , Paolo Tonella 4
Affiliation  

Metamorphic testing is a popular approach that aims to alleviate the oracle problem in software testing. At the core of this approach are Metamorphic Relations (MRs), specifying properties that hold among multiple test inputs and corresponding outputs. Deriving MRs is mostly a manual activity, since their automated generation is a challenging and largely unexplored problem. This paper presents GenMorph , a technique to automatically generate MRs for Java methods that involve inputs and outputs that are boolean, numerical, or ordered sequences. GenMorph uses an evolutionary algorithm to search for effective test oracles, i.e., oracles that trigger no false alarms and expose software faults in the method under test. The proposed search algorithm is guided by two fitness functions that measure the number of false alarms and the number of missed faults for the generated MRs. Our results show that GenMorph generates effective MRs for 18 out of 23 methods (mutation score > 20%). Furthermore, it can increase Randoop 's fault detection capability in 7 out of 23 methods, and Evosuite 's in 14 out of 23 methods. When compared with AutoMR , a state-of-the-art MR generator, GenMorph also outperformed its fault detection capability in 9 out of 10 methods.

中文翻译:


GenMorph:通过遗传编程自动生成变形关系



变质测试是一种流行的方法,旨在缓解软件测试中的预言机问题。这种方法的核心是变形关系(MR),指定多个测试输入和相应输出之间保持的属性。推导 MR 主要是一项手动活动,因为它们的自动生成是一个具有挑战性且很大程度上尚未探索的问题。本文介绍了 GenMorph ,这是一种为 Java 方法自动生成 MR 的技术,这些方法涉及布尔值、数值或有序序列的输入和输出。 GenMorph 使用进化算法来搜索有效的测试预言机,即在被测方法中不会触发误报并暴露软件故障的预言机。所提出的搜索算法由两个适应度函数引导,这两个适应度函数测量生成的 MR 的误报数量和漏报故障数量。我们的结果表明,GenMorph 为 23 种方法中的 18 种生成了有效的 MR(突变分数 > 20%)。此外,它还可以提高 Randoop 在 23 种方法中的 7 种的故障检测能力,以及 Evosuite 在 23 种方法中的 14 种的故障检测能力。与最先进的 MR 生成器 AutoMR 相比,GenMorph 在 10 种方法中的 9 种也优于其故障检测能力。
更新日期:2024-05-31
down
wechat
bug