Constraint-Based Relational Verification

被引:36
作者
Unno, Hiroshi [1 ,2 ]
Terauchi, Tachio [3 ]
Koskinen, Eric [4 ]
机构
[1] Univ Tsukuba, Tsukuba, Ibaraki, Japan
[2] RIKEN AIP, Tokyo, Japan
[3] Waseda Univ, Tokyo, Japan
[4] Stevens Inst Technol, Hoboken, NJ 07030 USA
来源
COMPUTER AIDED VERIFICATION (CAV 2021), PT I | 2021年 / 12759卷
关键词
Relational verification; Constraint solving; CEGIS; INVARIANTS;
D O I
10.1007/978-3-030-81685-8_35
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
In recent years they have been numerous works that aim to automate relational verification. Meanwhile, although Constrained Horn Clauses (CHCs) empower a wide range of verification techniques and tools, they lack the ability to express hyperproperties beyond k-safety such as generalized non-interference and co-termination. This paper describes a novel and fully automated constraint-based approach to relational verification. We first introduce a new class of predicate Constraint Satisfaction Problems called pfwCSP where constraints are represented as clauses modulo first-order theories over predicate variables of three kinds: ordinary, well-founded, or functional. This generalization over CHCs permits arbitrary (i.e., possibly non-Horn) clauses, well-foundedness constraints, functionality constraints, and is capable of expressing these relational verification problems. Our approach enables us to express and automatically verify problem instances that require non-trivial (i.e., non-sequential and non-lock-step) self-composition by automatically inferring appropriate schedulers (or alignment) that dictate when and which program copies move. To solve problems in this new language, we present a constraint solving method for pfwCSP based on stratified CounterExample-Guided Inductive Synthesis (CEGIS) of ordinary, well-founded, and functional predicates. We have implemented the proposed framework and obtained promising results on diverse relational verification problems that are beyond the scope of the previous verification frameworks.
引用
收藏
页码:742 / 766
页数:25
相关论文
共 66 条
[1]   A relational logic for higher-order programs [J].
Aguirre, Alejandro ;
Barthe, Gilles ;
Gaboardi, Marco ;
Garg, Deepak ;
Strub, Pierre-Yves .
JOURNAL OF FUNCTIONAL PROGRAMMING, 2019, 29
[2]  
Alias C, 2010, LECT NOTES COMPUT SC, V6337, P117, DOI 10.1007/978-3-642-15769-1_8
[3]  
Antonopoulos T, 2017, ACM SIGPLAN NOTICES, V52, P362, DOI [10.1145/3140587.3062378, 10.1145/3062341.3062378]
[4]   Verifying Relational Properties of Functional Programs by First-Order Refinement [J].
Asada, Kazuyuki ;
Sato, Ryosuke ;
Kobayashi, Naoki .
PROCEEDINGS OF THE 2015 ACM SIGPLAN WORKSHOP ON PARTIAL EVALUATION AND PROGRAM MANIPULATION (PEPM'15), 2015, :61-72
[5]   Hypercollecting Semantics and Its Application to Static Analysis of Information Flow [J].
Assaf, Mounir ;
Naumann, David A. ;
Signoles, Julien ;
Totel, Eric ;
Tronel, Frederic .
ACM SIGPLAN NOTICES, 2017, 52 (01) :874-887
[6]   Secure information flow by self-composition [J].
Barthe, G ;
D'Argenio, PR ;
Rezk, T .
17TH IEEE COMPUTER SECURITY FOUNDATIONS WORKSHOP, PROCEEDINGS, 2004, :100-114
[7]  
Barthe Gilles, 2011, FM 2011: Formal Methods. Proceedings 17th International Symposium on Formal Methods, P200, DOI 10.1007/978-3-642-21437-0_17
[8]  
Barthe G, 2020, INTRO RELATIONAL PRO
[9]   Simple relational correctness proofs for static analyses and program transformations [J].
Benton, N .
ACM SIGPLAN NOTICES, 2004, 39 (01) :14-25
[10]   Secure information flow and program logics [J].
Beringer, Lennart ;
Hofmann, Martin .
20TH IEEE COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSFS20), PROCEEDINGS, 2007, :233-+