Hyperproperty Verification as CHC Satisfiability

被引:0
|
作者
Itzhaky, Shachar [1 ]
Shoham, Sharon [2 ]
Vizel, Yakir [1 ]
机构
[1] Technion, Haifa, Israel
[2] Tel Aviv Univ, Tel Aviv, Israel
基金
欧洲研究理事会;
关键词
SECURE INFORMATION-FLOW; SOLVING GAMES; HORN; ABSTRACTIONS;
D O I
10.1007/978-3-031-57267-8_9
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Hyperproperties specify the behavior of a system across multiple executions, and are an important extension of regular temporal properties. So far, such properties have resisted comprehensive treatment by software model-checking approaches such as IC3/PDR, due to the need to find not only an inductive invariant but also a total alignment of different executions that facilitates simpler inductive invariants. We show how this treatment is achieved via a reduction from the verification problem of for all*there exists* hyperproperties to Constrained Horn Clauses (CHCs). Our starting point is a set of universally quantified formulas in first-order logic (modulo theories) that encode the verification of for all*there exists* hyperproperties over infinite-state transition systems. The first-order encoding uses uninterpreted predicates to capture the (1) witness function for existential quantification over traces, (2) alignment of executions, and (3) corresponding inductive invariant. Such an encoding was previously proposed for k-safety properties. Unfortunately, finding a satisfying model for the resulting first-order formulas is beyond reach for modern first-order satisfiability solvers. Previous works tackled this obstacle by developing specialized solvers for the aforementioned first-order formulas. In contrast, we show that the same problems can be encoded as CHCs and solved by existing CHC solvers. CHC solvers take advantage of the unique structure of CHC formulas and handle the combination of quantifiers with theories and uninterpreted predicates more efficiently. Our key technical contribution is a logical transformation of the aforementioned sets of first-order formulas to equi-satisfiable sets of CHCs. The transformation to CHCs is sound and complete, and applying it to the first-order formulas that encode verification of hyperproperties leads to a CHC encoding of these problems. We implemented the CHC encoding in a prototype tool and show that, using existing CHC solvers for solving the CHCs, the approach already outperforms state-of-the-art tools for hyperproperty verification by orders of magnitude.
引用
收藏
页码:212 / 241
页数:30
相关论文
共 50 条
  • [1] Prophecy Variables for Hyperproperty Verification
    Beutner, Raven
    Finkbeiner, Bernd
    [J]. 2022 IEEE 35TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF 2022), 2022, : 471 - 485
  • [2] Satisfiability solving for software verification
    David Déharbe
    Silvio Ranise
    [J]. International Journal on Software Tools for Technology Transfer, 2009, 11 (3) : 255 - 260
  • [3] SUMMARIZATION OF BOOLEAN SATISFIABILITY VERIFICATION
    Qian Junyan
    Wu Juan
    Zhao Lingzhong
    Guo Yunchuan
    [J]. Journal of Electronics(China), 2014, 31 (03) : 232 - 245
  • [4] Path verification using Boolean satisfiability
    Ringe, M
    Lindenkreuz, T
    Barke, E
    [J]. DESIGN, AUTOMATION AND TEST IN EUROPE, PROCEEDINGS, 1998, : 965 - 966
  • [5] Tender System Verification with Satisfiability Modulo Theories
    Davila, Rene
    Aldeco-Perez, Rocio
    Barcenas, Everardo
    [J]. 2021 9TH INTERNATIONAL CONFERENCE IN SOFTWARE ENGINEERING RESEARCH AND INNOVATION (CONISOFT 2021), 2021, : 69 - 78
  • [6] Verification of consensus algorithms using satisfiability solving
    Tatsuhiro Tsuchiya
    André Schiper
    [J]. Distributed Computing, 2011, 23 : 341 - 358
  • [7] Verification of consensus algorithms using satisfiability solving
    Tsuchiya, Tatsuhiro
    Schiper, Andre
    [J]. DISTRIBUTED COMPUTING, 2011, 23 (5-6) : 341 - 358
  • [8] Verification of Switching Network Properties Using Satisfiability
    McGeer, Rick
    [J]. 2012 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC), 2012, : 6638 - 6644
  • [9] RustHorn: CHC-based Verification for Rust Programs
    Matsushita, Yusuke
    Tsukada, Takeshi
    Kobayashi, Naoki
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS ( ESOP 2020): 29TH EUROPEAN SYMPOSIUM ON PROGRAMMING, 2020, 12075 : 484 - 514
  • [10] RustHorn: CHC-based Verification for Rust Programs
    Matsushita, Yusuke
    Tsukada, Takeshi
    Kobayashi, Naoki
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2021, 43 (04):