Ahmed Bouajjani, Marius Bozga, Peter Habermehl, Radu Iosif, Pierre Moro and Tom'{a}v{s} Vojnar
Programs with Lists are Counter Automata (2006)
Programs with Lists are Counter Automata (2006)
TR-2006-3.ps
Keywords: program verification, dynamic memory, counter automat
Abstract: We address the verification problem of programs manipulating one-selector linked data structures. We propose a new automated approach for checking safety and termination for these programs. Our approach is based on using counter automata as accurate abstract models: control states correspond to abstract heap graphs where list segments without sharing are collapsed, and counters are used to keep track of the number of elements in these segments. This allows to apply automatic analysis techniques and tools for counter automata in order to verify list programs. We show the effectiveness of our approach, in particular by verifying automatically termination of some sorting programs. /BOUCLE_trep>