Automatic Discovery and Cleansing of Numerical Metamorphic Relations

被引:19
作者
Zhang, Bo [1 ]
Zhang, Hongyu [1 ]
Chen, Junjie [2 ]
Hao, Dan [3 ]
Moscato, Pablo [1 ]
机构
[1] Univ Newcastle, Sch Elect Engn & Comp, Newcastle, NSW, Australia
[2] Tianjin Univ, Coll Intelligence & Comp, Tianjin, Peoples R China
[3] Peking Univ, Inst Software, EECS, Beijing, Peoples R China
来源
2019 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2019) | 2019年
关键词
Metamorphic relations; program invariants; search-based method; metamorphic testing; BUGS;
D O I
10.1109/ICSME.2019.00035
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:235 / 245
页数:11
相关论文
共 37 条
  • [1] Abreu R, 2008, APPLIED COMPUTING 2008, VOLS 1-3, P712
  • [2] [Anonymous], SOFTWARE TESTING VER
  • [3] [Anonymous], IET STWARE
  • [4] [Anonymous], 1998, HKUSTCS9801
  • [5] [Anonymous], P 8 INT S FUT STOR T
  • [6] Cross-Checking Oracles from Intrinsic Software Redundancy
    Carzaniga, Antonio
    Goffi, Alberto
    Gorla, Alessandra
    Mattavelli, Andrea
    Pezze, Mauro
    [J]. 36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, : 931 - 942
  • [7] Supporting Oracle Construction via Static Analysis
    Chen, Junjie
    Bai, Yanwei
    Hao, Dan
    Zhang, Lingming
    Zhang, Lu
    Xie, Bing
    Mei, Hong
    [J]. 2016 31ST IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2016, : 178 - 189
  • [8] Metamorphic Testing: A Review of Challenges and Opportunities
    Chen, Tsong Yueh
    Kuo, Fei-Ching
    Liu, Huai
    Poon, Pak-Lok
    Towey, Dave
    Tse, T. H.
    Zhou, Zhi Quan
    [J]. ACM COMPUTING SURVEYS, 2018, 51 (01)
  • [9] Metamorphic Testing: A Simple Method for Alleviating the Test Oracle Problem
    Chen, Tsong Yueh
    [J]. 10TH INTERNATIONAL WORKSHOP ON AUTOMATION OF SOFTWARE TEST AST 2015, 2015, : 53 - 54
  • [10] METRIC: METamorphic Relation Identification based on the Category-choice framework
    Chen, Tsong Yueh
    Poon, Pak-Lok
    Xie, Xiaoyuan
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2016, 116 : 177 - 190