Differential Testing of Pushdown Reachability with a Formally Verified Oracle

被引:1
|
作者
Schlichtkrull, Anders [1 ]
Schou, Morten Konggaard [1 ]
Srba, Jiri [1 ]
Traytel, Dmitriy [2 ]
机构
[1] Aalborg Univ, Dept Comp Sci, Aalborg, Denmark
[2] Univ Copenhagen, Dept Comp Sci, Copenhagen, Denmark
关键词
NETWORKS; AUTOMATA; CHECKER; SAFETY;
D O I
10.34727/2022/isbn.978-3-85448-053-2_44
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Pushdown automata are an essential model of recursive computation. In model checking and static analysis, numerous problems can be reduced to reachability questions about pushdown automata and several efficient libraries implement automata-theoretic algorithms for answering these questions. These libraries are often used as core components in other tools, and therefore it is instrumental that the used algorithms and their implementations are correct. We present a method that significantly increases the trust in the answers provided by the libraries for pushdown reachability by (i) formally verifying the correctness of the used algorithms using the Isabelle/HOL proof assistant, (ii) extracting executable programs from the formalization, (iii) implementing a framework for the differential testing of library implementations with the verified extracted algorithms as oracles, and (iv) automatically minimizing counter-examples from the differential testing based on the delta-debugging methodology. We instantiate our method to the concrete case of PDAAAL, a state-of-the-art library for pushdown reachability. Thereby, we discover and resolve several nontrivial errors in PDAAAL.
引用
收藏
页码:369 / 379
页数:11
相关论文
共 50 条
  • [31] Intermittent Computing with Peripherals, Formally Verified
    Berthou, Gautier
    Dagand, Pierre-Evariste
    Demange, Delphine
    Oudin, Remi
    Risset, Tanguy
    21ST ACM SIGPLAN/SIGBED CONFERENCE ON LANGUAGES, COMPILERS, AND TOOLS FOR EMBEDDED SYSTEMS (LCTES '20), 2020, : 85 - 96
  • [32] Formally Verified Approximations of Definite Integrals
    Assia Mahboubi
    Guillaume Melquiond
    Thomas Sibut-Pinote
    Journal of Automated Reasoning, 2019, 62 : 281 - 300
  • [33] Formally Verified Approximations of Definite Integrals
    Mahboubi, Assia
    Melquiond, Guillaume
    Sibut-Pinote, Thomas
    INTERACTIVE THEOREM PROVING (ITP 2016), 2016, 9807 : 274 - 289
  • [34] TRX: A Formally Verified Parser Interpreter
    Koprowski, Adam
    Binsztok, Henri
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2010, 6012 : 345 - 365
  • [35] Formally Verified Native Code Generation in an Effectful JIT: Turning the CompCert Backend into a Formally Verified JIT Compiler
    Barrière A.
    Blazy S.
    Pichardie D.
    Proceedings of the ACM on Programming Languages, 2023, 7
  • [36] TRX: A FORMALLY VERIFIED PARSER INTERPRETER
    Koprowski, Adam
    Binsztok, Henri
    LOGICAL METHODS IN COMPUTER SCIENCE, 2011, 7 (02)
  • [37] Formally Verified Software in the Real World
    Klein, Gerwin
    Andronick, June
    Fernandez, Matthew
    Kuz, Ihor
    Murray, Toby
    Heiser, Gernot
    COMMUNICATIONS OF THE ACM, 2018, 61 (10) : 68 - 77
  • [38] Formally verified on-line diagnosis
    Walter, CJ
    Lincoln, P
    Suri, N
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1997, 23 (11) : 684 - 721
  • [39] A Formally Verified Mechanism for Countering SPIT
    Soupionis, Yannis
    Basagiannis, Stylianos
    Katsaros, Panagiotis
    Gritzalis, Dimitris
    CRITICAL INFORMATION INFRASTRUCTURES SECURITY, (CRITIS 2010), 2010, 6712 : 128 - 139
  • [40] Reachability Analysis of Pushdown Systems with an Upper Stack
    Pommellet, Adrien
    Diaz, Marcio
    Touili, Tayssir
    LANGUAGE AND AUTOMATA THEORY AND APPLICATIONS (LATA 2017), 2017, 10168 : 447 - 459