Analyzing recursive programs using a fixed-point calculus

Torre, Salvatore La, Madhusudan, Parthasarathy and Parlato, Gennaro (2009) Analyzing recursive programs using a fixed-point calculus. In, PLDI '09. Proceedings of the 2009 ACM SIGPLAN conference on Programming Language Design and Implementation, Dublin, IE, 15 - 21 Jun 2009. , 211-222. (doi:10.1145/1543135.1542500).


[img] PDF - Version of Record
Download (440Kb)


We show that recursive programs where variables range over finite domains can be effectively and efficiently analyzed by describing the analysis algorithm using a formula in a fixed-point calculus. In contrast with programming in traditional languages, a fixed-point calculus serves as a high-level programming language to easily, correctly, and succinctly describe model-checking algorithms While there have been declarative high-level formalisms that have been proposed earlier for analysis problems (e.g., Datalog the fixed-point calculus we propose has the salient feature that it also allows algorithmic aspects to be specified.

We exhibit two classes of algorithms of symbolic (BDD-based) algorithms written using this framework-- one for checking for errors in sequential recursive Boolean programs, and the other to check for errors reachable within a bounded number of context-switches in a concurrent recursive Boolean program. Our formalization of these otherwise complex algorithms is extremely simple, and spans just a page of fixed-point formulae. Moreover, we implement these algorithms in a tool called Getafix which expresses algorithms as fixed-point formulae and evaluates them efficiently using a symbolic fixed-point solver called Mucke. The resulting model-checking tools are surprisingly efficient and are competitive in performance with mature existing tools that have been fine-tuned for these problems.

Item Type: Conference or Workshop Item (Paper)
Digital Object Identifier (DOI): doi:10.1145/1543135.1542500
ISBNs: 9781605583921 (hardback)
Subjects: Q Science > QA Mathematics > QA75 Electronic computers. Computer science
Divisions : Faculty of Physical Sciences and Engineering > Electronics and Computer Science > Electronic & Software Systems
ePrint ID: 272457
Accepted Date and Publication Date:
Date Deposited: 13 Jun 2011 13:53
Last Modified: 31 Mar 2016 14:21
Further Information:Google Scholar

Actions (login required)

View Item View Item

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics