Interactive Theorem Proving Modulo Fuzzing

被引:0
作者
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
    Albarghouthi, Aws
    Dillig, Isil
    Gurfinkel, Arie
    [J]. 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
    Chatterjee, Prantik
    Meda, Jaydeepsinh
    Lal, Akash
    Roy, Subhajit
    [J]. COMPUTER AIDED VERIFICATION (CAV 2022), PT I, 2022, 13371 : 304 - 324
  • [7] Precise Null Pointer Analysis Through Global Value Numbering
    Das, Ankush
    Lal, Akash
    [J]. AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS (ATVA 2017), 2017, 10482 : 25 - 41
  • [8] Angelic Verification: Precise Verification Modulo Unknowns
    Das, Ankush
    Lahiri, Shuvendu K.
    Lal, Akash
    Li, Yi
    [J]. COMPUTER AIDED VERIFICATION, PT I, 2015, 9206 : 324 - 342
  • [9] Fioraldi A., 2020, P USENIX WORKSH OFF
  • [10] Refinement Type Inference via Horn Constraint Optimization
    Hashimoto, Kodai
    Unno, Hiroshi
    [J]. STATIC ANALYSIS (SAS 2015), 2015, 9291 : 199 - 216