A concurrent abstract interpreter

Stephen Weeks, Suresh Jagannathan, James Philbin

Research output: Contribution to journalArticle

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 languageEnglish (US)
Pages (from-to)173-193
Number of pages21
JournalLISP and Symbolic Computation
Volume7
Issue number2-3
DOIs
StatePublished - Jun 1994
Externally publishedYes

Fingerprint

Program interpreters
High level languages
Computer programming languages
Data structures
Synchronization

Keywords

  • Abstract Interpretation
  • Concurrency
  • Control-flow Analysis
  • Multi-threaded Computing

ASJC Scopus subject areas

  • Computer Science(all)

Cite this

Weeks, S., Jagannathan, S., & Philbin, J. (1994). A concurrent abstract interpreter. LISP and Symbolic Computation, 7(2-3), 173-193. https://doi.org/10.1007/BF01018693

A concurrent abstract interpreter. / Weeks, Stephen; Jagannathan, Suresh; Philbin, James.

In: LISP and Symbolic Computation, Vol. 7, No. 2-3, 06.1994, p. 173-193.

Research output: Contribution to journalArticle

Weeks, S, Jagannathan, S & Philbin, J 1994, 'A concurrent abstract interpreter', LISP and Symbolic Computation, vol. 7, no. 2-3, pp. 173-193. https://doi.org/10.1007/BF01018693
Weeks S, Jagannathan S, Philbin J. A concurrent abstract interpreter. LISP and Symbolic Computation. 1994 Jun;7(2-3):173-193. https://doi.org/10.1007/BF01018693
Weeks, Stephen ; Jagannathan, Suresh ; Philbin, James. / A concurrent abstract interpreter. In: LISP and Symbolic Computation. 1994 ; Vol. 7, No. 2-3. pp. 173-193.
@article{da498b7d852a4886a118b0dd2f73498e,
title = "A concurrent abstract interpreter",
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, Concurrency, Control-flow Analysis, Multi-threaded Computing",
author = "Stephen Weeks and Suresh Jagannathan and James Philbin",
year = "1994",
month = "6",
doi = "10.1007/BF01018693",
language = "English (US)",
volume = "7",
pages = "173--193",
journal = "LISP and Symbolic Computation",
issn = "1388-3690",
publisher = "Springer Netherlands",
number = "2-3",

}

TY - JOUR

T1 - A concurrent abstract interpreter

AU - Weeks, Stephen

AU - Jagannathan, Suresh

AU - Philbin, James

PY - 1994/6

Y1 - 1994/6

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

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

KW - Abstract Interpretation

KW - Concurrency

KW - Control-flow Analysis

KW - Multi-threaded Computing

UR - http://www.scopus.com/inward/record.url?scp=0028756190&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0028756190&partnerID=8YFLogxK

U2 - 10.1007/BF01018693

DO - 10.1007/BF01018693

M3 - Article

AN - SCOPUS:0028756190

VL - 7

SP - 173

EP - 193

JO - LISP and Symbolic Computation

JF - LISP and Symbolic Computation

SN - 1388-3690

IS - 2-3

ER -