Results 1 
5 of
5
An Improved Intraprocedural Mayalias Analysis Algorithm
, 1999
"... Hind et al. ([5]) use a standard dataflow framework [15, 16] to formulate an intraprocedural mayalias computation. The intraprocedural aliasing information is computed by applying wellknown iterative techniques to the Sparse Evaluation Graph (SEG) ([3]). The computation requires a transfer funct ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
Hind et al. ([5]) use a standard dataflow framework [15, 16] to formulate an intraprocedural mayalias computation. The intraprocedural aliasing information is computed by applying wellknown iterative techniques to the Sparse Evaluation Graph (SEG) ([3]). The computation requires a transfer function for each node that causes a potential pointer assignment (relating the dataflow information owing into and out of the node), and a set of aliases holding at the entry node of the SEG. The intraprocedural analysis assumes that precomputed information in the form of summary functions is available for all functioncall sites in the procedure being analyzed. The time complexity of the intraprocedural mayalias computation for the algorithm presented by Hind et al. ([5]) is O(N 6 ) in the worst case (where N is the size of the SEG). In this paper we present a worst case O(N 3 ) time algorithm to compute the same mayalias information.
A Language Theoretic Approach to Algorithm and Software Development
, 1999
"... This note is a description of my research over the last few years as a doctoral student at the Courant Institute. A part of this research was collaborative work with my advisor Bob Paige. This statement is divided into three sections. The rst section is introductory, the second describes the work ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
This note is a description of my research over the last few years as a doctoral student at the Courant Institute. A part of this research was collaborative work with my advisor Bob Paige. This statement is divided into three sections. The rst section is introductory, the second describes the work that will go into my dissertation, and the third section describes some other work that I have done, and some possible future directions for my research. 1 Introduction It is generally agreed that high level programming languages can notonly substantially reduce the time it takes to produce code but also help increase reliability of software. Such languages allow programs to be specied more in terms of algorithmic concepts than implementation details. A more conceptual level of discourse not only makes programs easier to write but also easier to prove correct. Widely used low level languages such as Fortran, C, C++ were designed to allow a straightforward translation of programs into ...
Optimizing Relational Algebra Operations Using Generic Equivalence Discriminators and Lazy Products ∗
"... We show how to efficiently evaluate generic mapfilterproduct queries, generalizations of selectprojectjoin (SPJ) queries in relational algebra, based on a combination of two novel techniques: generic discriminationbased joins and lazy (formal) products. Discriminationbased joins are based on t ..."
Abstract
 Add to MetaCart
We show how to efficiently evaluate generic mapfilterproduct queries, generalizations of selectprojectjoin (SPJ) queries in relational algebra, based on a combination of two novel techniques: generic discriminationbased joins and lazy (formal) products. Discriminationbased joins are based on the notion of (equivalence) discriminator. A discriminator partitions a list of values according to a userspecified equivalence relation on keys the values are associated with. Equivalence relations can be specified in an expressive embedded language for denoting equivalence relations. We show that discriminators can be constructed generically (by structural recursion on equivalence expressions), purely functionally, and efficiently (worstcase linear time). The arraybased basic multiset discrimination algorithm of Cai and Paige (1995) provides a base discriminator that is both asymptotically and practically