Causal Termination of Multi-threaded Programs

被引:0
|
作者
Kupriyanov, Andrey [1 ]
Finkbeiner, Bernd [1 ]
机构
[1] Univ Saarland, Saarbrucken, Germany
来源
关键词
LINEAR RANKING; VERIFICATION; PROOFS;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present a new model checking procedure for the termination analysis of multi-threaded programs. Current termination provers scale badly in the number of threads; our new approach easily handles 100 threads on multi-threaded benchmarks like Producer-Consumer. In our procedure, we characterize the existence of non-terminating executions as Mazurkiewicz-style concurrent traces and apply causality-based transformation rules to refine them until a contradiction can be shown. The termination proof is organized into a tableau, where the case splits represent a novel type of modular reasoning according to different causal explanations of a hypothetical error. We report on experimental results obtained with a tool implementation of the new procedure, called Arctor, on previously intractable multi-threaded benchmarks.
引用
收藏
页码:814 / 830
页数:17
相关论文
共 50 条
  • [31] Predicate Abstraction and Refinement for Verifying Multi-Threaded Programs
    Gupta, Ashutosh
    Popeea, Corneliu
    Rybalchenko, Andrey
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (01) : 331 - 344
  • [32] AggrePlay: Efficient Record and Replay of Multi-threaded Programs
    Pobee, Ernest
    Chan, W. K.
    [J]. ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2019, : 567 - 577
  • [33] Thread-specific heaps for multi-threaded programs
    Steensgaard, B
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (01) : 18 - 24
  • [34] A study of common pitfalls in simple multi-threaded programs
    Choi, SE
    Lewis, EC
    [J]. SIGCSE 2000: PROCEEDINGS OF THE THIRTY-FIRST SIGCSE TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2000, 32 (01): : 325 - 329
  • [35] Deterministic Synchronization of Multi-Threaded Programs with Operational Transformation
    Boelmann, Christopher
    Schwittmann, Lorenz
    Weis, Torben
    [J]. PROCEEDINGS OF 2014 IEEE INTERNATIONAL PARALLEL & DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2014, : 381 - 390
  • [36] Threader: A Verifier for Multi-threaded Programs (Competition Contribution)
    Popeea, Corneliu
    Rybalchenko, Andrey
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2013, 2013, 7795 : 633 - 636
  • [37] Handling information release and erasure in multi-threaded programs
    Jiang, Li
    Ping, Lingdi
    Pan, Xuezeng
    [J]. CIS: 2007 INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SECURITY, PROCEEDINGS, 2007, : 824 - 828
  • [38] Interactive visualization environment of multi-threaded parallel programs
    Stein, B
    de Kergommeaux, JC
    [J]. PARALLEL COMPUTING: FUNDAMENTALS, APPLICATIONS AND NEW DIRECTIONS, 1998, 12 : 311 - 318
  • [39] Logic of multi-threaded programs for non-interference
    Li, Qin
    Zeng, Qing-Kai
    Yuan, Zhi-Xiang
    [J]. Ruan Jian Xue Bao/Journal of Software, 2014, 25 (06): : 1143 - 1153
  • [40] Safe and Timely Dynamic Updates for Multi-threaded Programs
    Neamtiu, Iulian
    Hicks, Michael
    [J]. ACM SIGPLAN NOTICES, 2009, 44 (06) : 13 - 24