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.
Original language | English (US) |
---|---|
Pages (from-to) | 173-193 |
Number of pages | 21 |
Journal | LISP and Symbolic Computation |
Volume | 7 |
Issue number | 2-3 |
DOIs | |
State | Published - Jun 1 1994 |
Keywords
- Abstract Interpretation
- Concurrency
- Control-flow Analysis
- Multi-threaded Computing
ASJC Scopus subject areas
- General Computer Science