7,482 papers · page 269 of 375
Wolfram Amme, Niall Dalton, Michael Franz, Jeffery von Ronne
Article Share on SafeTSA: a type safe and referentially secure mobile-code representation based on static single assignment form Authors: Wolfram Amme Department of Information and Computer Science, University of California, Irvine, CA Department of Information and Computer Scien…
Andrew W. Appel, Lal George
Many graph-coloring register-allocation algorithms don't work well for machines with few registers. Heuristics for live-range splitting are complex or suboptimal; heuristics for register assignment rarely factor the presence of fancy addressing modes; these problems are more seve…
Matthew Arnold, Barbara G. Ryder
Instrumenting code to collect profiling information can cause substantial execution overhead. This overhead makes instrumentation difficult to perform at runtime, often preventing many known offline feedback-directed optimizations from being used in online systems. This paper pre…
David F. Bacon, C. Richard Attanasio, Han Bok Lee, V. T. Rajan, Stephen E. Smith
The deployment of Java as a concurrent programming language has created a critical need for high-performance, concurrent, and incremental multiprocessor garbage collection. We present the Recycler, a fully concurrent pure reference counting garbage collector that we have implemen…
Thomas Ball, Rupak Majumdar, Todd D. Millstein, Sriram K. Rajamani
Model checking has been widely successful in validating and debugging designs in the hardware and protocol domains. However, state-space explosion limits the applicability of model checking tools, so model checkers typically operate on abstractions of systems.
Emery D. Berger, Benjamin G. Zorn, Kathryn S. McKinley
114-124
Siddhartha Chatterjee, Erin Parker, Philip J. Hanlon, Alvin R. Lebeck
We develop from first principles an exact model of the behavior of loop nests executing in a memory hicrarchy, by using a nontraditional classification of misses that has the key property of composability. We use Presburger formulas to express various kinds of misses as well as t…
Perry Cheng, Guy E. Blelloch
A'(=$B#127$C7D-7E"#%9F<\t>$7'(-7:;<<"G$&%-\t12-*#)+1+)H7IJ->0" ;<<":'(%-\t1+687)29:K*,<\tB>0"$%L.M.D.&%<1+12%&%7<\t'K)2$"#=$)2;\t>%"ON5<'.$D-\t'(="P6 9F%9:<\t'(IF9?B127)+/#'(<&=%$$<\t'($C->0"Q)2$A*0-$%"R<>S-\t>S%-\t'1+)2('C&%<1+12%&%7<\t' -12;<')27D09UT VW84X.D)2&YDG/'( "$\\<\t>]…
Trishul M. Chilimbi
With the growing processor-memory performance gap, understanding and optimizing a program's reference locality, and consequently, its cache performance, is becoming increasingly important. Unfortunately, current reference locality optimizations rely on heuristics and are fairly a…
Robert DeLine, Manuel Fähndrich
The reliability of infrastructure software, such as operating sys-tems and web servers, is often hampered by the mismanagement of resources, such as memory and network connections. The Vault programming language allows a programmer to describe resource management protocols that t…
William S. Evans, Christopher W. Fraser
This paper describes the design and implementation of a method for producing compact, bytecoded instruction sets and interpreters for them. It accepts a grammar for programs written using a simple bytecoded stack-based instruction set, as well as a training set of sample programs…
David Gay, Alex Aiken
Region-based memory management systems structure memory by grouping objects in regions under program control. Memory is reclaimed by deleting regions, freeing all objects stored therein. Our compiler for C with regions, RC, prevents unsafe region deletions by keeping a count of r…
Rakesh Ghiya, Daniel M. Lavery, David C. Sehr
In this paper, we evaluate the benefits achievable from pointer analysis and other memory disambiguation techniques for C/C++ programs, using the framework of the production compiler for the Intel ® Itanium TM processor. Most of the prior work on memory disambiguation has primari…
David R. Hanson, Todd A. Proebsting
Most programming languages use static scope rules for associating uses of identifiers with their declarations. Static scope helps catch errors at compile time, and it can be implemented efficiently. Some popular languages—Perl, Tel, TeX, and Postscript—offer dynamic scope, becaus…
Nevin Heintze, Olivier Tardieu
Known algorithms for pointer analysis are “global” in the sense that they perform an exhaustive analysis of a program or program component. In this paper we introduce a demand-driven approach for pointer analysis. Specifically, we describe a demand-driven flow-insensitive, subset…
Nevin Heintze, Olivier Tardieu
We describe the design and implementation of a system for very fast points-to analysis. On code bases of about million lines of unpreprocessed C code, our system performs field-based Andersen-style points-to analysis in less than a second and uses less than 10MB of memory. Our tw…
Michael W. Hicks, Jonathan T. Moore, Scott Nettles
Many important applications must run continuously and without interruption, yet must be changed to fix bugs or upgrade functionality. No prior general-purpose methodology for dynamic updating achieves a practical balance between flexibility, robustness, low overhead, and ease of …
Andrew Kennedy, Don Syme
The Microsoft.NET Common Language Runtime provides a shared type system, intermediate language and dynamic execution environment for the implementation and inter-operation of multiple source languages. In this paper we extend it with direct support for parametric polymorphism (al…
Chandra Krintz, Brad Calder
Dynamic compilation and optimization are widely used in heterogenous computing environments, in which an intermediate form of the code is compiled to native code during execution. An important trade off exists between the amount of time spent dynamically optimizing the program an…
Sanjeev Kumar, Yitzhak Mandelbaum, Xiang Yu, Kai Li
This paper presents the design and implementation of Event-driven State-machines Programming (ESP)—a language for programmable devices. In traditional languages, like C, using event-driven state-machine forces a tradeoff that requires giving up ease of development and reliability…