Interactive Theorem Proving Modulo Fuzzing

被引:1
作者
Muduli, Sujit Kumar [1 ]
Padulkar, Rohan Ravikumar [1 ]
Roy, Subhajit [1 ]
机构
[1] Indian Inst Technol Kanpur, Dept Comp Sci & Engn, Kanpur, Uttar Pradesh, India
来源
COMPUTER AIDED VERIFICATION, PT I, CAV 2024 | 2024年 / 14681卷
关键词
VERIFICATION;
D O I
10.1007/978-3-031-65627-9_24
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Interactive theorem provers (ITPs) exploit the collaboration between humans and computers, enabling proof of complex theorems. Further, ITPs allow extraction of provably correct implementations from proofs. However, often, the extracted code interface with external libraries containing real-life complexities-proprietary library calls, remote/cloud APIs, complex models like ML models, inline assembly, highly non-linear arithmetic, vector instructions etc. We refer to such functions/operations as closed-box components. For such components, the user has to provide appropriate assumed lemmas to model the behavior of these functions. However, we found instances where these assumed lemmas are inconsistent with the actual semantics of these closed-box components. Hence, even correct-by-construction code extracted from an ITP may still behave incorrectly when interfaced with such closed-box components. To this end, we propose StarFuzz, that allows the F-star interactive theorem prover to provide better end-to-end assurance on the application-even when interfaced with the closed-box components. Under the hood, StarFuzz rides on Sadhak, an SMT solver that combines fuzz testing to allow satisfiability checking over closed-box components. On the F-star library that includes external implementations in OCaml, StarFuzz discovered four bugs-one bug that revealed an error on the assumed lemmas for a closed-box function, and three bugs in the external implementations of these components.
引用
收藏
页码:480 / 493
页数:14
相关论文
共 25 条
[1]  
Agda Development Team, 2007, The Agda wiki
[2]  
Aguirre A., 2016, Master's thesis, V7
[3]   Maximal Specification Synthesis [J].
Albarghouthi, Aws ;
Dillig, Isil ;
Gurfinkel, Arie .
ACM SIGPLAN NOTICES, 2016, 51 (01) :789-801
[4]  
Bhargavan K., 2016, Cryptology ePrint Archive, Paper 2016/1178
[5]  
Chatterjee Prantik, 2020, 2020 Formal Methods in Computer Aided Design (FMCAD), P47, DOI 10.34727/2020/isbn.978-3-85448-042-6_11
[6]   Proof-Guided Underapproximation Widening for Bounded Model Checking [J].
Chatterjee, Prantik ;
Meda, Jaydeepsinh ;
Lal, Akash ;
Roy, Subhajit .
COMPUTER AIDED VERIFICATION (CAV 2022), PT I, 2022, 13371 :304-324
[7]   Precise Null Pointer Analysis Through Global Value Numbering [J].
Das, Ankush ;
Lal, Akash .
AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS (ATVA 2017), 2017, 10482 :25-41
[8]   Angelic Verification: Precise Verification Modulo Unknowns [J].
Das, Ankush ;
Lahiri, Shuvendu K. ;
Lal, Akash ;
Li, Yi .
COMPUTER AIDED VERIFICATION, PT I, 2015, 9206 :324-342
[9]  
Fioraldi Andrea, 2020, 14 USENIX WORKSH OFF
[10]   Refinement Type Inference via Horn Constraint Optimization [J].
Hashimoto, Kodai ;
Unno, Hiroshi .
STATIC ANALYSIS (SAS 2015), 2015, 9291 :199-216