Causal Termination of Multi-threaded Programs
Authors: Andrey Kupriyanov and Bernd Finkbeiner
Paper Information
| Title: | Causal Termination of Multi-threaded Programs |
| Authors: | Andrey Kupriyanov and Bernd Finkbeiner |
| Proceedings: | CAV 2014 LNCS Proceedings |
| Editors: | Armin Biere, Swen Jacobs and Roderick Bloem |
| Keywords: | Verification, Termination, Concurrency, Causality, Tableau |
| Abstract: | ABSTRACT. 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. |
| Pages: | 17 |
| Talk: | Jul 22 15:50 |
| Paper: | ![]() |
