enter search term and/or author name
On the usefulness of type and liveness accuracy for garbage collection and leak detection
Martin Hirzel, Amer Diwan, Johannes Henkel
The effectiveness of garbage collectors and leak detectors in identifying dead objects depends on the accuracy of their reachability traversal. Accuracy has two orthogonal dimensions: (i) whether the reachability traversal can distinguish...
Practical extraction techniques for Java
Frank Tip, Peter F. Sweeney, Chris Laffra, Aldo Eisma, David Streeter
Reducing application size is important for software that is distributed via the internet, in order to keep download times manageable, and in the domain of embedded systems, where applications are often stored in (Read-Only or Flash) memory. This...
Efficient and effective branch reordering using profile data
Minghui Yang, Gang-Ryung Uh, David B. Whalley
The conditional branch has long been considered an expensive operation. The relative cost of conditional branches has increased as recently designed machines are now relying on deeper pipelines and higher multiple issue. Reducing the number of...
Repairing syntax errors in LR parsers
Rafael Corchuelo, José A. Pérez, , Antonio Ruiz, Miguel Toro
This article reports on an error-repair algorithm for LR parsers. It locally inserts, deletes or shifts symbols at the positions where errors are detected, thus modifying the right context in order to resume parsing on a valid piece of input. This...
Type-Safe linking with recursive DLLs and shared libraries
Component-based programming is an increasingly prevalent theme in software development, motivating the need for expressive and safe module interconnection languages. Dynamic linking is an important requirement for module interconnection languages, as...