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 At PLDI '09. Proceedings of the 2009 ACM SIGPLAN conference on Programming Language Design and Implementation, Ireland. 15 - 21 Jun 2009. , pp. 211-222. (doi:10.1145/1543135.1542500).

Download

[img] PDF p211-latorre.pdf - Version of Record
Download (451kB)

Description/Abstract

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
Venue - Dates: PLDI '09. Proceedings of the 2009 ACM SIGPLAN conference on Programming Language Design and Implementation, Ireland, 2009-06-15 - 2009-06-21
Subjects:
Organisations: Electronic & Software Systems
ePrint ID: 272457
Date :
Date Event
2009Published
Date Deposited: 13 Jun 2011 13:53
Last Modified: 17 Apr 2017 17:44
Further Information:Google Scholar
URI: http://eprints.soton.ac.uk/id/eprint/272457

Actions (login required)

View Item View Item