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 条
  • [1] Parallel Program Analysis via Range Splitting
    Haltermann, Jan
    Jakobs, Marie-Christine
    Richter, Cedric
    Wehrheim, Heike
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, FASE 2023, 2023, 13991 : 195 - 219
  • [2] Program Analysis via Satisfiability Modulo Path Programs
    Harris, William R.
    Sankaranarayanan, Sriram
    Ivancic, Franjo
    Gupta, Aarti
    ACM SIGPLAN NOTICES, 2010, 45 (01) : 71 - 81
  • [3] Program Analysis via Satisfiability Modulo Path Programs
    Harris, William R.
    Sankaranarayanan, Sriram
    Ivancic, Franjo
    Gupta, Aarti
    POPL'10: PROCEEDINGS OF THE 37TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2010, : 71 - 81
  • [4] Optimizing Parallel Korat Using Invalid Ranges
    Dini, Nima
    Yelen, Cagdas
    Khurshid, Sarfraz
    SPIN'17: PROCEEDINGS OF THE 24TH ACM SIGSOFT INTERNATIONAL SPIN SYMPOSIUM ON MODEL CHECKING OF SOFTWARE, 2017, : 182 - 191
  • [5] A Novel Program Analysis Method Based On Execution Path Correlation
    Fan, Wenqing
    Zhou, Binbin
    Liang, Hongliang
    Yang, Yixian
    2009 SECOND INTERNATIONAL SYMPOSIUM ON KNOWLEDGE ACQUISITION AND MODELING: KAM 2009, VOL 2, 2009, : 178 - 181
  • [6] Research on Parallel Symbolic Execution through Program Dependence Analysis
    Cao, Yan
    Wei, Qiang
    Wang, Qingxian
    2012 FIFTH INTERNATIONAL SYMPOSIUM ON COMPUTATIONAL INTELLIGENCE AND DESIGN (ISCID 2012), VOL 2, 2012, : 222 - 226
  • [7] Symbolic Parallel Adaptive Importance Sampling for Probabilistic Program Analysis
    Luo, Yicheng
    Filieri, Antonio
    Zhou, Yuan
    PROCEEDINGS OF THE 29TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '21), 2021, : 1166 - 1177
  • [8] Path-Sensitive Sparse Analysis without Path Conditions
    Shi, Qingkai
    Yao, Peisen
    Wu, Rongxin
    Zhang, Charles
    PROCEEDINGS OF THE 42ND ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '21), 2021, : 930 - 943
  • [9] Towards parallel program verification
    He, Pei
    Kang, Lishan
    DCABES 2007 Proceedings, Vols I and II, 2007, : 14 - 18
  • [10] Analysis of Recursively Parallel Programs
    Bouajjani, Ahmed
    Emmi, Michael
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2013, 35 (03):