Programming Languages and Systems (TOPLAS)


Search Issue
enter search term and/or author name


ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 29 Issue 4, August 2007

Design, implementation, and evaluation of a compilation server
Han B. Lee, Amer Diwan, J. Eliot B. Moss
Article No.: 18
DOI: 10.1145/1255450.1255451

Modern JVM implementations interleave execution with compilation of “hot” methods to achieve reasonable performance. Since compilation overhead impacts the execution time of the application and induces run-time pauses, we explore...

A practical interprocedural dominance algorithm
Bjorn De Sutter, Ludo Van Put, Koen De Bosschere
Article No.: 19
DOI: 10.1145/1255450.1255452

Existing algorithms for computing dominators are formulated for control flow graphs of single procedures. With the rise of computing power, and the viability of whole-program analyses and optimizations, there is a growing need to extend the...

An efficient on-the-fly cycle collection
Harel Paz, David F. Bacon, Elliot K. Kolodner, Erez Petrank, V. T. Rajan
Article No.: 20
DOI: 10.1145/1255450.1255453

A reference-counting garbage collector cannot reclaim unreachable cyclic structures of objects. Therefore, reference-counting collectors either use a backup tracing collector infrequently, or employ a cycle collector to reclaim cyclic structures....

Static validation of XSL transformations
Anders Møller, Mads Østerby Olesen, Michael I. Schwartzbach
Article No.: 21
DOI: 10.1145/1255450.1255454

XSL Transformations (XSLT) is a programming language for defining transformations among XML languages. The structure of these languages is formally described by schemas, for example using DTD or XML Schema, which allows individual documents to be...

Mutatis Mutandis: Safe and predictable dynamic software updating
Gareth Stoyle, Michael Hicks, Gavin Bierman, Peter Sewell, Iulian Neamtiu
Article No.: 22
DOI: 10.1145/1255450.1255455

This article presents Proteus, a core calculus that models dynamic software updating, a service for fixing bugs and adding features to a running program. Proteus permits a program's type structure to change dynamically but guarantees the updated...