ACM DL

Programming Languages and Systems (TOPLAS)

Menu

Search Issue
enter search term and/or author name

Archive


ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 20 Issue 1, Jan. 1998

Solving shape-analysis problems in languages with destructive updating
Mooly Sagiv, Thomas Reps, Reinhard Wilhelm
Pages: 1-50
DOI: 10.1145/271510.271517
This article concerns the static analysis of programs that perform destructive updating on heap-allocated storage. We give an algorithm that uses finite shape graphs to approximate conservatively the possible “shapes” that...

Synthesis of concurrent systems with many similar processes
Paul C. Attie, E. Allen Emerson
Pages: 51-115
DOI: 10.1145/271510.271519
Methods for synthesizing concurrent programs from temporal logic specifications based on the use of a decision procedure for testing temporal satisfiability have been proposed by Emerson and Clarke and by Manna and Wolper. An important advantage...

Fast algorithms for compressed multimethod dispatch table generation
Eric Dujardin, Eric Amiel, Eric Simon
Pages: 116-165
DOI: 10.1145/271510.271521
The efficiency of dynamic dispatch is a major impediment to the adoption of multimethods in object-oriented languages. In this article, we propose a simple multimethod dispatch scheme based on compressed dispatch tables. This scheme is...

Polymorphic splitting: an effective polyvariant flow analysis
Andrew K. Wright, Suresh Jagannathan
Pages: 166-207
DOI: 10.1145/271510.271523
This article describes a general-purpose program analysis that computes global control-flow and data-flow information for higher-order, call-by-value languages. The analysis employs a novel form of polyvariance called polymorhic splitting...

Controlling generalization and polyvariance in partial deduction of normal logic programs
Michael Leuschel, Bern Martens, Danny De Schreye
Pages: 208-258
DOI: 10.1145/271510.271525
Given a program and some input data, partial deduction computes a specialized program handling any remaining input more efficiently. However, controlling the process well is a rather difficult problem. In this article, we elaborate global...