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 [J].
Heyman, T ;
Geist, D ;
Grumberg, O ;
Schuster, A .
FORMAL METHODS IN SYSTEM DESIGN, 2002, 21 (03) :317-338
[22]   PTPG: A Parallel Test Program Generator for Cache Coherence Verification [J].
Wang, Liyi ;
Zheng, Yan ;
Li, DaiFeng .
2015 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND ENGINEERING APPLICATIONS (CSEA 2015), 2015, :208-213
[23]   Structural properties of parallel program's Petri net model [J].
Cui, Huanqing ;
Wu, Zhehui .
Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2007, 44 (12) :2130-2135
[24]   The Impact of Program Transformations on Static Program Analysis [J].
Namjoshi, Kedar S. ;
Pavlinovic, Zvonimir .
STATIC ANALYSIS (SAS 2018), 2018, 11002 :306-325
[25]   Analysis of Recursively Parallel Programs [J].
Bouajjani, Ahmed ;
Emmi, Michael .
POPL 12: PROCEEDINGS OF THE 39TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2012, :203-214
[26]   Newtonian Program Analysis [J].
Esparza, Javier ;
Kiefer, Stefan ;
Luttenberger, Michael .
JOURNAL OF THE ACM, 2010, 57 (06)
[27]   Precise and Efficient Parametric Path Analysis [J].
Althaus, Ernst ;
Altmeyer, Sebastian ;
Naujoks, Rouven .
ACM SIGPLAN NOTICES, 2011, 46 (05) :141-150
[28]   Path Feasibility Analysis of BPEL Processes under Dead Path Elimination Semantics [J].
Wang, Hongda ;
Xing, Jianchun ;
Li, Juelong ;
Yang, Qiliang ;
Zhang, Xuewei ;
Han, Deshuai ;
Li, Kai .
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 [J].
Kuhtz, Lars ;
Finkbeiner, Bernd .
LOGICAL METHODS IN COMPUTER SCIENCE, 2012, 8 (04)
[30]   Interprocedural Context-Unbounded Program Analysis Using Observation Sequences [J].
Liu, Peizun ;
Wahl, Thomas ;
Reps, Thomas .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2021, 42 (04)