Dreaming up Metamorphic Relations: Experiences from Three Fuzzer Tools

被引:5
|
作者
Lascu, Andrei [1 ]
Windsor, Matt [1 ]
Donaldson, Alastair F. [1 ]
Grosser, Tobias [2 ]
Wickerson, John [1 ]
机构
[1] Imperial Coll London, London SW7 2AZ, England
[2] Univ Edinburgh, Edinburgh EH1 2LX, Midlothian, Scotland
来源
2021 IEEE/ACM 6TH INTERNATIONAL WORKSHOP ON METAMORPHIC TESTING (MET 2021) | 2021年
基金
英国工程与自然科学研究理事会;
关键词
metamorphic relations; fuzzing; metamorphic testing; compiler testing; library testing; C11; SPIR-V;
D O I
10.1109/MET52542.2021.00017
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Metamorphic testing requires the availability of a suitable set of metamorphic relations (MRs) for the application domain of interest. A software testing practitioner interested in using metamorphic testing is thus blocked unless they can devise a suitable set of MRs. In this paper we offer some practical advice on sources of inspiration for MRs, based on our experience building three fuzzing tools based on metamorphic testing: MF++, which supports automated testing of C++11 libraries, C4, which tests concurrency support in C11 compilers, and spirv-fuzz, which aims to find bugs in compilers for the SPIR-V programming language (mainly used in computer graphics). The MRs we have devised have taken inspiration from three main sources: (1) careful study of specification documents related to the libraries and programming languages that these tools target, (2) consultation of prior work and discussion with domain experts, and (3) manual inspection of the results of automated code coverage analysis on the systems under test. We describe these sources of inspiration in detail, giving a range of concrete examples for each. We hope that this experience report will help to inform developers of future metamorphic testing tools as to the steps they can take to discover MRs in their domains of interest.
引用
收藏
页码:61 / 68
页数:8
相关论文
共 50 条
  • [1] Scaling up ILP: Experiences with extracting relations from biomedical text
    Shavlik, J
    INDUCTIVE LOGIC PROGRAMMING, PROCEEDINGS, 2004, 3194 : 7 - 7
  • [2] Dreaming up the patient in supervision: from the concrete to the symbolic
    Vassilopoulou, Vassiliki
    Layiou-Lignos, Effie
    JOURNAL OF CHILD PSYCHOTHERAPY, 2019, 45 (02) : 176 - 190
  • [3] Evaluating integrated surveillance of antimicrobial resistance: experiences from use of three evaluation tools
    Nielsen, Liza Rosenbaum
    Alban, Lis
    Ellis-Iversen, Johanne
    Mintiens, Koen
    Sandberg, Marianne
    CLINICAL MICROBIOLOGY AND INFECTION, 2020, 26 (12) : 1606 - 1611
  • [4] Discovering Metamorphic Relations for Scientific Software From User Forums
    Lin, Xuanyi
    Simon, Michelle
    Peng, Zedong
    Niu, Nan
    COMPUTING IN SCIENCE & ENGINEERING, 2021, 23 (02) : 65 - 72
  • [5] Early Experiences: Building up the Tools to Face the Challenges of Adult Life
    Branchi, Igor
    Cirulli, Francesca
    DEVELOPMENTAL PSYCHOBIOLOGY, 2014, 56 (08) : 1661 - 1674
  • [6] Writing for the (general) public without giving up on peers: three experiences from online journals
    Brodiez-Dolino, Axelle
    Ruiz, Emilien
    MOUVEMENT SOCIAL, 2019, (269): : 149 - 164
  • [7] Software Tools in Electronics - Experiences from Teaching the Course
    Pejovic, Predrag
    2016 INTERNATIONAL SYMPOSIUM ON INDUSTRIAL ELECTRONICS (INDEL), 2016,
  • [8] Inferring Metamorphic Relations from Java']JavaDocs: A Deep Dive into the MeMo Approach
    Duque-Torres, Alejandra
    Pfahl, Dietmar
    PRODUCT-FOCUSED SOFTWARE PROCESS IMPROVEMENT, PROFES 2022, 2022, 13709 : 418 - 432
  • [9] MANGANESE PYROXENOIDS AND CARBONATES - CRITICAL PHASE RELATIONS IN METAMORPHIC ASSEMBLAGES FROM ALPS
    PETERS, T
    TROMMSDORFF, V
    SOMMERAUER, J
    CONTRIBUTIONS TO MINERALOGY AND PETROLOGY, 1978, 66 (04) : 383 - 388
  • [10] From designing to co-designing to collective dreaming: Three slices in time
    Sanders, Liz
    Stappers, Pieter Jan
    Interactions, 2014, 21 (06) : 24 - 33