Verification by parallelization of parametric code

被引:0
|
作者
Gedell, Tobias [1 ]
Haehnle, Reiner [1 ]
机构
[1] Chalmers Univ Technol, Dept Comp Sci & Engn, S-41296 Gothenburg, Sweden
关键词
D O I
暂无
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Loops and other unbound control structures constitute a major bottleneck in formal software verification, because correctness proofs over such control structures generally require user interaction: typically, induction hypotheses or invariants must be found or modified by hand. Such interaction involves expert knowledge of the underlying calculus and proof engine. We show that one can replace interactive proof techniques, such as induction, with automated first-order reasoning in order to deal with parallelizable loops. A loop can be parallelized, whenever the execution of a generic iteration of its body depends only on the step parameter and not on other iterations. We use a symbolic dependence analysis that ensures parallelizability. This guarantees soundness of a proof rule that transforms a loop into a universally quantified update of the state change information effected by the loop body. This rule makes it possible to employ automatic first-order reasoning techniques to deal with loops. The method has been implemented in the KeY verification tool. We evaluated its applicability with representative case studies from the JAVA CARD domain.
引用
收藏
页码:138 / 159
页数:22
相关论文
共 50 条
  • [41] Verification conditions are code
    Gravell, Andrew M.
    ACTA INFORMATICA, 2007, 43 (06) : 431 - 447
  • [42] Verification conditions are code
    Andrew M. Gravell
    Acta Informatica, 2007, 43 : 431 - 447
  • [43] Speculative program parallelization with scalable and decentralized runtime verification
    Sukumaran-Rajam, Aravind
    Caamaño, Juan Manuel Martinez
    Wolff, Willy
    Jimborean, Alexandra
    Clauss, Philippe
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2014, 8734 : 124 - 139
  • [44] Speculative Program Parallelization with Scalable and Decentralized Runtime Verification
    Sukumaran-Rajam, Aravind
    Caamano, Juan Manuel Martinez
    Wolff, Willy
    Jimborean, Alexandra
    Clauss, Philippe
    RUNTIME VERIFICATION, RV 2014, 2014, 8734 : 124 - 139
  • [45] Scalable Surface-Code Decoders with Parallelization in Time
    Tan, Xinyu
    Zhang, Fang
    Chao, Rui
    Shi, Yaoyun
    Chen, Jianxin
    PRX QUANTUM, 2023, 4 (04):
  • [46] PARALLELIZATION OF GST ALGORITHM FOR SOURCE CODE SIMILARITY DETECTION
    Misic, Marko J.
    Nikolov, Dusan V.
    Protic, Jelica Z.
    Tomasevic, Milo V.
    2016 24TH TELECOMMUNICATIONS FORUM (TELFOR), 2016, : 921 - 924
  • [47] Portable parallelization of the Navier-Stokes code NSFLEX
    Hold, RK
    Ritzdorf, H
    PARALLEL COMPUTATIONAL FLUID DYNAMICS: IMPLEMENTATIONS AND RESULTS USING PARALLEL COMPUTERS, 1996, : 427 - 436
  • [48] GPU parallelization of a three dimensional Marine CSEM code
    Sommer, M.
    Hoelz, S.
    Moorkamp, M.
    Swidinsky, A.
    Heincke, B.
    Scholl, C.
    Jegen, M.
    COMPUTERS & GEOSCIENCES, 2013, 58 : 91 - 99
  • [49] Parallelization of a Monte Carlo particle transport simulation code
    Hadjidoukas, P.
    Bousis, C.
    Emfietzoglou, D.
    COMPUTER PHYSICS COMMUNICATIONS, 2010, 181 (05) : 928 - 936
  • [50] An Automatic Instruction-Level Parallelization of Machine Code
    Marinkovic, Vladimir
    Popovic, Miroslav
    Djukic, Miodrag
    ADVANCES IN ELECTRICAL AND COMPUTER ENGINEERING, 2018, 18 (01) : 27 - 36