Experimenting with predicate abstraction

Predicate abstraction is a technique employed in software model checking to produce abstract models that can be conservatively checked for property violations in reasonable time. The precision degree of different abstractions of the same program may differ based on (i) the set of predicates used; or...

Full description

Bibliographic Details
Main Author: Miraldo, Victor Cacciari (author)
Other Authors: Frade, M. J. (author), Lourenço, Cláudio (author), Pinto, Jorge Sousa (author)
Format: conferenceObject
Language:eng
Published: 2013
Subjects:
Online Access:http://hdl.handle.net/1822/26360
Country:Portugal
Oai:oai:repositorium.sdum.uminho.pt:1822/26360
Description
Summary:Predicate abstraction is a technique employed in software model checking to produce abstract models that can be conservatively checked for property violations in reasonable time. The precision degree of different abstractions of the same program may differ based on (i) the set of predicates used; or (ii) the algorithmic technique employed to gen- erate the model. In this paper we explain how we have implemented and optimized one such technique, that produces the most precise existential abstraction of a program, and give the first steps towards establishing a common framework for both this direct technique and a second one, based on cartesian abstraction by weakest precondition calculations.