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

被引:38
|
作者
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
相关论文
共 14 条
  • [1] Bounded Model Checking of Multi-threaded C Programs via Lazy Sequentialization
    Inverso, Omar
    Tomasco, Ermenegildo
    Fischer, Bernd
    La Torre, Salvatore
    Parlato, Gennaro
    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
    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
    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.
    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
    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
    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.
    SCIENCE OF COMPUTER PROGRAMMING, 2018, 152 : 63 - 69
  • [8] Model-checking multi-threaded distributed Java programs
    Stoller S.D.
    International Journal on Software Tools for Technology Transfer, 2002, 4 (01) : 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
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2017, 29 (22):
  • [10] Cache-based bounds checking for multi-threaded C programs
    Department of Computer Science, Tokyo Institute of Technology, 2-12-1 Oookayama, Meguro-ku, Tokyo 152-8552, Japan
    不详
    Proc. IASTED INt. Conf. Parall. Distrib. Comput. Syst., (386-393):