Lazy-CSeq: A Context-Bounded Model Checking Tool for Multi-Threaded C-Programs

被引:35
|
作者
Inverso, Omar [1 ]
Nguyen, Truc L. [1 ]
Fischer, Bernd [2 ]
La Torre, Salvatore [3 ]
Parlato, Gennaro [1 ]
机构
[1] Univ Southampton, Elect & Comp Sci, Southampton SO9 5NH, Hants, England
[2] Univ Stellenbosch, Div Comp Sci, ZA-7600 Stellenbosch, South Africa
[3] Univ Salerno, Dipartimento Informat, Fisciano, Italy
基金
英国工程与自然科学研究理事会;
关键词
CONCURRENT PROGRAMS; ANSI-C; SOFTWARE;
D O I
10.1109/ASE.2015.108
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Lazy-CSeq is a context-bounded verification tool for sequentially consistent C programs using POSIX threads. It first translates a multi-threaded C program into a bounded nondeterministic sequential C program that preserves bounded reachability for all round-robin schedules up to a given number of rounds. It then reuses existing high-performance bounded model checkers as sequential verification backends. Lazy-CSeq handles the full C language and the main parts of the POSIX thread API, such as dynamic thread creation and deletion, and synchronization via thread join, locks, and condition variables. It supports assertion checking and deadlock detection, and returns counterexamples in case of errors. Lazy-CSeq outperforms other concurrency verification tools and has won the concurrency category of the last two SV-COMP verification competitions.
引用
收藏
页码:807 / 812
页数:6
相关论文
共 13 条
  • [1] Bounded Model Checking of Multi-threaded C Programs via Lazy Sequentialization
    Inverso, Omar
    Tomasco, Ermenegildo
    Fischer, Bernd
    La Torre, Salvatore
    Parlato, Gennaro
    [J]. COMPUTER AIDED VERIFICATION, CAV 2014, 2014, 8559 : 585 - 602
  • [2] VERISMART 2.0: Swarm-Based Bug-Finding for Multi-Threaded Programs with Lazy-CSeq
    Fischer, Bernd
    La Tone, Salvatore
    Parlato, Gennaro
    [J]. 34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2019), 2019, : 1150 - 1153
  • [3] Verifying Multi-threaded Software using SMT-based Context-Bounded Model Checking
    Cordeiro, Lucas
    Fischer, Bernd
    [J]. 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, : 331 - 340
  • [4] Fault Localization in Multi-Threaded C Programs using Bounded Model Checking
    Alves, Erickson H. da S.
    Cordeiro, Lucas C.
    de Lima Filho, Eddie B.
    [J]. 2015 BRAZILIAN SYMPOSIUM ON COMPUTING SYSTEMS ENGINEERING (SBESC), 2015, : 96 - 101
  • [5] Parallel and Distributed Bounded Model Checking of Multi-threaded Programs
    Inverso, Omar
    Trubiani, Catia
    [J]. PROCEEDINGS OF THE 25TH ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING (PPOPP '20), 2020, : 202 - 216
  • [6] Bounded Verification of Multi-threaded Programs via Lazy Sequentialization
    Inverso, Omar
    Tomasco, Ermenegildo
    Fischer, Bernd
    La Torre, Salvatore
    Parlato, Gennaro
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2022, 44 (01):
  • [7] ESBMC-GPU A context-bounded model checking tool to verify CUDA programs
    Monteiro, Felipe R.
    Alves, Erickson H. da S.
    Silva, Isabela S.
    Ismail, Hussama I.
    Cordeiro, Lucas C.
    de Lima Filho, Eddie B.
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2018, 152 : 63 - 69
  • [8] Model-checking multi-threaded distributed Java programs
    Stoller S.D.
    [J]. International Journal on Software Tools for Technology Transfer, 2002, 4 (1) : 71 - 91
  • [9] SMT-based context-bounded model checking for CUDA programs
    Pereira, Phillipe
    Albuquerque, Higo
    da Silva, Isabela
    Marques, Hendrio
    Monteiro, Felipe
    Ferreira, Ricardo
    Cordeiro, Lucas
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2017, 29 (22):
  • [10] Model-checking multi-threaded distributed Java']Java programs
    Stoller, SD
    [J]. SPIN MODEL CHECKING AND SOFTWARE VERIFICATON, 2000, 1885 : 224 - 244