Download PDFOpen PDF in browser

Extending Non-Termination Proof Techniques to Asynchronously Communicating Concurrent Programs

16 pagesPublished: June 22, 2012

Abstract

Currently, there are no approaches known that allow for non-termination proofs of concurrent programs which account for asynchronous communication via FIFO message queues. Those programs may be written in high-level languages such as Java or Promela. We present a first approach to prove non-termination for such programs. In addition to integers, the programs that we consider may contain queues as data structures. We present a representation of queues and the operations on them in the domain of integers, and generate invariants that help us prove non-termination of selected control flow loops using a theorem proving approach. We illustrate this approach by applying a prototype tool implementation to a number of case studies.

Keyphrases: concolic execution, concurrent programs, non termination, termination, theorem proving

In: Andrei Voronkov, Laura Kovacs and Nikolaj Bjorner (editors). WING 2010. Workshop on Invariant Generation 2010, vol 1, pages 132-147.

BibTeX entry
@inproceedings{WING2010:Extending_Non_Termination_Proof,
  author    = {Matthias Kuntz and Stefan Leue and Christoph Scheben},
  title     = {Extending Non-Termination Proof Techniques to Asynchronously Communicating Concurrent Programs},
  booktitle = {WING 2010. Workshop on Invariant Generation 2010},
  editor    = {Andrei Voronkov and Laura Kovacs and Nikolaj Bjorner},
  series    = {EPiC Series in Computing},
  volume    = {1},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {/publications/paper/nND},
  doi       = {10.29007/c7v2},
  pages     = {132-147},
  year      = {2012}}
Download PDFOpen PDF in browser