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.
|
|