Parallel program analysis on path ranges

被引:0
作者
Haltermann, Jan [1 ]
Jakobs, Marie-Christine [2 ]
Richter, Cedric [1 ]
Wehrheim, Heike [1 ]
机构
[1] Carl von Ossietzky Univ Oldenburg, Dept Comp Sci, Ammerlaender Heerstr 114-118, D-26129 Oldenburg, Germany
[2] Ludwig Maximilians Univ Munchen, Dept Comp Sci, Oettingenstr 67, D-80538 Munich, Germany
关键词
Ranged symbolic execution; Cooperative software verification; Parallel configurable program analysis; SYMBOLIC EXECUTION; MODEL CHECKING; VERIFICATION; ABSTRACTIONS;
D O I
10.1016/j.scico.2024.103154
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Symbolic execution is a software verification technique symbolically running programs and thereby checking for bugs. Ranged symbolic execution performs symbolic execution on program parts, so-called path ranges , in parallel. Due to the parallelism, verification is accelerated and hence scales to larger programs. In this paper, we discuss a generalization of ranged symbolic execution to arbitrary program analyses. More specifically, we present a verification approach that splits programs into path ranges and then runs arbitrary analyses on the ranges in parallel. Our approach in particular allows to run different analyses on different program parts. We have implemented this generalization on top of the tool CPA CHECKER and evaluated it on programs from the SVCOMP benchmark. Our evaluation shows that verification can benefit from the parallelization of the verification task, but also needs a form of work stealing (between analyses) to become efficient.
引用
收藏
页数:24
相关论文
共 50 条
  • [21] A scalable parallel algorithm for reachability analysis of very large circuits
    Heyman, T
    Geist, D
    Grumberg, O
    Schuster, A
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 2002, 21 (03) : 317 - 338
  • [22] PTPG: A Parallel Test Program Generator for Cache Coherence Verification
    Wang, Liyi
    Zheng, Yan
    Li, DaiFeng
    [J]. 2015 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND ENGINEERING APPLICATIONS (CSEA 2015), 2015, : 208 - 213
  • [23] Structural properties of parallel program's Petri net model
    Cui, Huanqing
    Wu, Zhehui
    [J]. Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2007, 44 (12): : 2130 - 2135
  • [24] The Impact of Program Transformations on Static Program Analysis
    Namjoshi, Kedar S.
    Pavlinovic, Zvonimir
    [J]. STATIC ANALYSIS (SAS 2018), 2018, 11002 : 306 - 325
  • [25] Analysis of Recursively Parallel Programs
    Bouajjani, Ahmed
    Emmi, Michael
    [J]. POPL 12: PROCEEDINGS OF THE 39TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2012, : 203 - 214
  • [26] Newtonian Program Analysis
    Esparza, Javier
    Kiefer, Stefan
    Luttenberger, Michael
    [J]. JOURNAL OF THE ACM, 2010, 57 (06)
  • [27] Precise and Efficient Parametric Path Analysis
    Althaus, Ernst
    Altmeyer, Sebastian
    Naujoks, Rouven
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (05) : 141 - 150
  • [28] Path Feasibility Analysis of BPEL Processes under Dead Path Elimination Semantics
    Wang, Hongda
    Xing, Jianchun
    Li, Juelong
    Yang, Qiliang
    Zhang, Xuewei
    Han, Deshuai
    Li, Kai
    [J]. IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2016, E99D (03): : 641 - 649
  • [29] EFFICIENT PARALLEL PATH CHECKING FOR LINEAR-TIME TEMPORAL LOGIC WITH PAST AND BOUNDS
    Kuhtz, Lars
    Finkbeiner, Bernd
    [J]. LOGICAL METHODS IN COMPUTER SCIENCE, 2012, 8 (04)
  • [30] Interprocedural Context-Unbounded Program Analysis Using Observation Sequences
    Liu, Peizun
    Wahl, Thomas
    Reps, Thomas
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2021, 42 (04):