enter search term and/or author name
Denali: A practical algorithm for generating optimal code
Rajeev Joshi, Greg Nelson, Yunhong Zhou
This article presents a design for the Denali-2 superoptimizer, which will generate minimum-instruction-length machine code for realistic machine architectures using automatic theorem-proving technology: specifically, using E-graph matching (a...
Adaptive functional programming
Umut A. Acar, Guy E. Blelloch, Robert Harper
We present techniques for incremental computing by introducing adaptive functional programming. As an adaptive program executes, the underlying system represents the data and control dependences in the execution in the form of a dynamic...
Flow-insensitive type qualifiers
Jeffrey S. Foster, Robert Johnson, John Kodumal, Alex Aiken
We describe flow-insensitive type qualifiers, a lightweight, practical mechanism for specifying and checking properties not captured by traditional type systems. We present a framework for adding new, user-specified type qualifiers to programming...
Interprocedural slicing of multithreaded programs with applications to Java
Mangala Gowri Nanda, S. Ramesh
Slicing is a well-known program reduction technique where for a given program P and a variable of interest v at some statement P in the program, a program slice contains those set of statements belonging to P that affect...
On minimizing materializations of array-valued temporaries
Daniel J. Rosenkrantz, Lenore R. Mullin, Harry B. Hunt III
We consider the analysis and optimization of code utilizing operations and functions operating on entire arrays. Models are developed for studying the minimization of the number of materializations of array-valued temporaries in basic blocks, each...