Robustness Testing of Software Verifiers

被引:0
|
作者
Dyck, Florian [1 ]
Richter, Cedric [1 ]
Wehrheim, Heike [1 ]
机构
[1] Carl von Ossietzky Univ Oldenburg, Dept Comp Sci, Oldenburg, Germany
关键词
Software Verification; Robustness; Testing; COMPILER BUGS; GENERATION;
D O I
10.1007/978-3-031-47115-5_5
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software verification tools fully automatically prove the correctness of verification tasks (i.e., programs with correctness specifications). With their increasing application on safety-critical software, the quality of such tools becomes of prime importance. This quality is typically assessed via experimental evaluation. In this paper, we present a novel approach for robustness testing of software verifiers. We consider tools to be robust if their output (for a given input task) does not change under small perturbations of the input. The core idea of our technique is to start with tasks of publicly available benchmarks and systematically apply small program transformations on them which preserve program semantics. As a consequence, the ground truth known from the benchmark (i.e., the correct outcome used as an oracle during testing) carries over to all of its perturbed versions. We experimentally evaluate robustness testing on three state-of-the-art software verifiers. To this end, we perturbate 778 tasks from the annual Competition on Software Verification via 8 transformations. Our evaluation shows that all three verifiers are non-robust, however, to different extents.
引用
收藏
页码:66 / 84
页数:19
相关论文
共 50 条
  • [1] Robustness Testing of Intermediate Verifiers
    Chen, YuTing
    Furia, Carlo A.
    AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS (ATVA 2018), 2018, 11138 : 91 - 108
  • [2] Robustness Testing of Autonomy Software
    Hutchison, Casidhe
    Zizyte, Milda
    Lanigan, Patrick E.
    Guttendorf, David
    Wagner, Michael
    Le Goues, Claire
    Koopman, Philip
    2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING - SOFTWARE ENGINEERING IN PRACTICE TRACK (ICSE-SEIP 2018), 2018, : 276 - 285
  • [3] Robustness testing for software components
    Lei, Bin
    Li, Xuandong
    Liu, Zhiming
    Morisset, Charles
    Stolz, Volker
    SCIENCE OF COMPUTER PROGRAMMING, 2010, 75 (10) : 879 - 897
  • [4] Testing the robustness of Windows NT software
    Ghosh, AK
    Schmid, M
    Shah, V
    NINTH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, 1998, : 231 - 235
  • [5] RobusTest: A Framework for Automated Testing of Software Robustness
    Shahrokni, Ali
    Feldt, Robert
    2011 18TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2011), 2011, : 171 - 178
  • [6] A Framework and a Tool for Robustness Testing of Communicating Software
    Saad-Khorchef, Fares
    Rollet, Antoine
    Castanet, Richard
    APPLIED COMPUTING 2007, VOL 1 AND 2, 2007, : 1461 - 1466
  • [7] Design and simulation of a software robustness testing model
    Wang Xiang-gang
    PROCEEDINGS OF THE 2015 INTERNATIONAL CONFERENCE ON AUTOMATION, MECHANICAL CONTROL AND COMPUTATIONAL ENGINEERING, 2015, 124 : 1198 - 1203
  • [8] Synthesizing Software Verifiers from Proof Rules
    Grebenshchikov, Sergey
    Lopes, Nuno P.
    Popeea, Corneliu
    Rybalchenko, Andrey
    ACM SIGPLAN NOTICES, 2012, 47 (06) : 405 - 416
  • [9] Cooperation Between Automatic and Interactive Software Verifiers
    Beyer, Dirk
    Spiessl, Martin
    Umbricht, Sven
    SOFTWARE ENGINEERING AND FORMAL METHODS, SEFM 2022, 2022, 13550 : 111 - 128
  • [10] Automated robustness testing of Off-The-Shelf software components
    Kropp, NP
    Koopman, PJ
    Siewiorek, DP
    TWENTY-EIGHTH ANNUAL INTERNATIONAL SYMPOSIUM ON FAULT-TOLERANT COMPUTING, DIGEST PAPERS, 1998, : 230 - 239