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 Kovács and Nikolaj Bjorner (editors). WING 2010. Workshop on Invariant Generation 2010, vol 1, pages 132--147

Links:
BibTeX entry
@inproceedings{WING2010:Extending_Non_Termination_Proof_Techniques,
  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},
  pages     = {132--147},
  year      = {2012},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {https://easychair.org/publications/paper/nND},
  doi       = {10.29007/c7v2}}
Download PDFOpen PDF in browser