Programming Languages and Systems (TOPLAS)


Search Issue
enter search term and/or author name


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

Precise flow-insensitive may-alias analysis is NP-hard
Susan Horwitz
Pages: 1-6
DOI: 10.1145/239912.239913
Determining aliases is one of the foundamental static analysis problems, in part because the precision with which this problem is solved can affect the precision of other analyses such as live variables, available expressions, and constant...

Complementation in abstract interpretation
Agostino Cortesi, Gilberto Filé, Francesco Ranzato, Roberto Giacobazzi, Catuscia Palamidessi
Pages: 7-47
DOI: 10.1145/239912.239914
Reduced product of abstract domains is a rather well-known operation for domain composition in abstract interpretation. In this article, we study its inverse operation, introducing a notion of domain complementation in abstract interpretation....

Lightweight closure conversion
Paul A. Steckler, Mitchell Wand
Pages: 48-86
DOI: 10.1145/239912.239915
We consider the problem of lightweight closure conversion, in which multiple procedure call protocols may coexist in the same code. A lightweight closure omits bindings for some of the free variables of the procedure that is represents. Flow...

A practical soft type system for scheme
Andrew K. Wright, Robert Cartwright
Pages: 87-152
DOI: 10.1145/239912.239917
A soft type system infers types for the procedures and data structures of dynamically typed programs. Like conventional static types, soft types express program invariants and thereby provide valuable information for program...

Implementing signatures for C++
Gerald Baumgartner, Vincent F. Russo
Pages: 153-187
DOI: 10.1145/239912.239922
We outline the design and detail the implementation of a language extension for abstracting types and for decoupling subtyping and inheritance in C++. This extension gives the user more of the flexibility of dynamic typing while retaining the...

Evidence-based static branch prediction using machine learning
Brad Calder, Dirk Grunwald, Michael Jones, Donald Lindsay, James Martin, Michael Mozer, Benjamin Zorn
Pages: 188-222
DOI: 10.1145/239912.239923
Correctly predicting the direction that branches will take is increasingly important in today's wide-issue computer architectures. The name program-based branch prediction is given to static branch prediction techniques that...