Automatic discovery and cleansing of numerical metamorphic relations

B Zhang, H Zhang, J Chen, D Hao… - 2019 IEEE International …, 2019 - ieeexplore.ieee.org
2019 IEEE International Conference on Software Maintenance and …, 2019ieeexplore.ieee.org
Metamorphic relations (MRs) describe the invariant relationships between program inputs
and outputs. By checking for violations of MRs, faults in programs can be detected.
Identifying MRs manually is a tedious and error-prone task. In this paper, we propose
AutoMR, a novel method for systematically inferring and cleansing MRs. AutoMR can
discover various types of equality and inequality MRs through a search method (particle
swarm optimization). It also employs matrix singular-value decomposition and constraint …
Metamorphic relations (MRs) describe the invariant relationships between program inputs and outputs. By checking for violations of MRs, faults in programs can be detected. Identifying MRs manually is a tedious and error-prone task. In this paper, we propose AutoMR, a novel method for systematically inferring and cleansing MRs. AutoMR can discover various types of equality and inequality MRs through a search method (particle swarm optimization). It also employs matrix singular-value decomposition and constraint solving techniques to remove the redundant MRs in the search results. Our experiments on 37 numerical programs from two popular open source packages show that AutoMR can effectively infer a set of accurate and succinct MRs and outperform the state-of-the-art method. Furthermore, we show that the discovered MRs have high fault detection ability in mutation testing and differential testing.
ieeexplore.ieee.org