LISP and Symbolic Computation, 7(2/3)173-193

A Concurrent Abstract Interpreter

Stephen Weeks, Dept. of Computer Science, Carnegie-Mellon University, Pittsburgh, PA
Suresh Jagannathan, NEC Research Institute, 4 Independence Way, Princeton, NJ
James Philbin, NEC Research Institute, 4 Independence Way, Princeton, NJ

Abstract: Abstract interpretation [6] has been long regarded as a promising optimization and analysis technique for high-level languages. In this article, we describe an implementation of a concurrent abstract interpreter. The interpreter evaluates programs written in an expressive parallel language that supports dynamic process creation, first-class locations, list data structures and higher-order procedures. Synchronization in the input language is mediated via first-class shared locations. The analysis computes intra- and inter-thread control and dataflow information. The interpreter is implemented on top of Sting [12], a multi-threaded dialect of Scheme that serves as a high-level operating system for modern programming languages.

Keywords: abstract interpretation, control-flow analysis, concurrency, multi-threaded computing

This article is not available online.
[picture of journal cover]

May 2003 - hosc@brics.dk