Safety and Liveness in Concurrent Pointer Programs [chapter]

Dino Distefano, Joost-Pieter Katoen, Arend Rensink
2006 Lecture Notes in Computer Science  
The incorrect use of pointers is one of the most common source of software errors. Concurrency has a similar characteristic. Proving the correctness of concurrent pointer manipulating programs, let alone algorithmically, is a highly non-trivial task. This paper proposes an automated verification technique for concurrent programs that manipulate linked lists. Key issues of our approach are: automata (with fairness constraints), heap abstractions that are tailored to the program and property to
more » ... checked, first-order temporal logic, and a tableaubased model-checking algorithm.
doi:10.1007/11804192_14 fatcat:4rp5tychazgx3b7n23jcywki3m