Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Robert Paige

dblp:p/RobertPaige · DBLP profile ↗
← Back
21ranked-venue papers
9as first author
0since 2021 · last 1998
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 11 · 5 first-authorTheory of computation · 7 · 4 first-authorGraphics, computer vision, multimedia, augmented reality and games · 2Databases, data management, data science and information retrieval · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
7 papers
Compilers and program optimization · 82% Programming languages and type systems · 8% Program synthesis and code generation · 5%
Theoretical computer science
4 papers
Algorithms and data structures · 98% Automata and formal languages · 2%
Computer graphics and multimedia
1 paper
Geometric modeling and processing · 100%

Topics — the 11 heaviest of 16, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization › program transformation
data structure compilation
0.011997
High Level Reading and Data Structure Compilation · POPL 1997
Algorithms and data structures
real-time simulation
0.011997
High Level Reading and Data Structure Compilation · POPL 1997
Geometric modeling and processing
geometric constraint solving
0.011995
Geometric constraint solver · Comput. Aided Des. 1995
Compilers and program optimization › program transformation › program derivation
transformational implementation
0.011993
Towards Increased Productivity of Algorithm Implementation · SIGSOFT FSE 1993
Algorithms and data structures › combinatorial algorithms
partition refinement
0.021987
Three Partition Refinement Algorithms · SIAM J. Comput. 1987
A Linear Time Algorithm to Solve the Single Function Coarsest Partition Problem · ICALP 1984
Compilers and program optimization › loop optimization
strength reduction
0.031991
"Look Ma, No Hashing, And No Arrays Neither" · POPL 1991
Finite Differencing of Computable Expressions · ACM Trans. Program. Lang. Syst. 1982
Reduction in Strength of High Level Operations · POPL 1977
Programming languages and type systems
language design
0.011987
Binding Performance at Language Design Time · POPL 1987
Geometric modeling and processing
computer-aided design
0.011995
Geometric constraint solver · Comput. Aided Des. 1995
Program verification › formal program development
correctness by construction
0.011983
Transformational Programming - Applications to Algorithms and Systems · POPL 1983
Compilers and program optimization
program transformation
0.011982
Finite Differencing of Computable Expressions · ACM Trans. Program. Lang. Syst. 1982
Database system architecture and tuning
derived data maintenance
0.011981
A Transformational Framework for the Automatic Control of Derived Data · VLDB 1981

Methods — techniques the papers use, named apart from their topics

high level reading · 0.0partition refinement · 0.0multiset discrimination · 0.0graph-reduction directed algebraic approach · 0.0program transformation · 0.0transformational programming · 0.0stepwise refinement · 0.0transformational framework · 0.0semantics-preserving transformation · 0.0
YearPublicationVenuePosition
1998 A New Solution to the Hidden Copy Problem
Deepak Goyal, Robert Paige
SAS2
1997 High Level Reading and Data Structure Compilation
abstract
In [Paige89], it was shown how to simulate a set machine in real-time on a RAM that provides cursor or even only pointer access to data. The underlying assumption was that the establishment of efficient data structures would be provided by some 'client' program. In the current paper, we fill in the gap by presenting a linear-time high level reading method that translates external input in string form into data structures that facilitate such real-time simulation. The algorithm builds the data structures for a much richer type system than what appeared in [Paige94], and is powerful enough to support our reading algorithm itself in an efficient way. Consequently, it equips a high level set-theoretic language with I/O, without the loss of computational transparency.This work alleviates the burden of creating low-level data structures manually, and builds the internal pointer-based inputs required by most pointer algorithms [Ben-Amram95] from the external string representation.
Robert Paige, Zhe Yang 0015
POPL1
1997 From Regular Expressions to DFA's Using Compressed NFA's
abstract
There are two principal methods for turning regular expressions into NFA's — one due to McNaughton and Yamada and another due to Thompson. Unfortunately, both have drawbacks. Given a regular expression R of length r and with s occurrences of alphabet symbols, Chang and Paige (1992) and Brüggemann-Klein (1993) gave Θ(m + r) time and O(r) space algorithms to produce a Θ(m) space representation of McNaughton and Yamada's NFA with s + 1 states and m transitions. The problem with this NFA is that m = Θ(s2) in the worst case. Thompson's method takes Θ(r) time and space to construct a Θ(r) space NFA with Θ(r) states and Θ(r) transitions. The problem with this NFA is that r can be arbitrarily larger than s. We overcome drawbacks of both methods with a Θ(r) time Θ(s) space algorithm to construct an O(s) space representation of McNaughton and Yamada's NFA. Given any set V of NFA states, our representation can be used to compute the set U of states one transition away from the states in V in optimal time O(¦V¦ + ¦U¦). McNaughton and Yamada's NFA requires Θ(¦V¦ × ¦U¦) time in the worst case. Using Thompson's NFA, the equivalent calculation requires Θ(r) time in the worst case. Comparative benchmarks show that an implementation of our method outperforms implementations of competing methods with respect to time for NFA construction, NFA accepting testing, and NFA-to-DFA conversion by subset construction. Throughout this paper program transformations are used to design algorithms and derive programs. A transformation of special importance is a form of finite differencing used previously by Douglas Smith to improve the efficiency of functional programs.
Chia-Hsiang Chang, Robert Paige
Theor. Comput. Sci.2
1995 Geometric constraint solver
abstract
The paper reports on the development of a 2D geometric constraint solver. The solver is a major component of a new generation of cad systems based on a high-level geometry representation. The solver uses a graph-reduction directed algebraic approach, and achieves interactive speed. The paper describes the architecture of the solver and its basic capabilities. Then, it discusses in detail how to extend the scope of the solver, with particular emphasis on the theoretical and human factors involved in finding a solution, in an exponentially large search space, so that the solution is appropriate to the application, and so that the way of finding it is intuitive for an untrained user.
William Bouma, Ioannis Fudos, Christoph M. Hoffmann, Jiazhen Cai, Robert Paige
Comput. Aided Des.5
1995 Transformational Design and Implementation of a New Efficient Solution to the Ready Simulation Problem
abstract
A transformational methodology is described for simultaneously designing algorithms and developing programs. The methodology makes use of three transformational tools — dominated convergence, finite differencing, and real-time simulation of a set machine on a RAM. We ilustrate the methodology to design a new O(mn + n2)-time algorithm for deciding when n-state, m-transition processes are ready similar, which is a substantial improvement on the ⊖(mn6) algorithm presented in Bloom (1989). The methodology is also used to derive a program whose performance, we believe, is competitive with the most efficient hand-crafted implementation of our algorithm. Ready simulation is the finest fully abstract notion of process equivalence in the CCS setting.
Bard Bloom, Robert Paige
Sci. Comput. Program.2
1995 Using Multiset Discrimination to Solve Language Processing Problems Without Hashing
abstract
It is generally assumed that hashing is essential to solve many language processing problems efficiently; e.g. symbol table formation and maintenance, grammar manipulation, basic block optimization, and global optimization. This paper questions this assumption, and initiates development of an efficient alternative compiler methodology without hashing or sorting. The methodology rests on efficient solutions to the basic problem of detecting duplicate values in a multiset, which we call multiset discrimination. Paige and Tarjan (1987) gave an efficient solution to multiset discrimination for detecting duplicate elements occurring in a multiset of varying length strings. The technique was used to develop an improved algorithm for lexicographic sorting, whose importance stems largely from its use in solving a variety of isomorphism problems (Aho et al., 1974). The current paper and a related paper (Paige, 1994) show that full lexicographic sorting is not needed to solve these isomorphism problems, because they can be solved more efficiently using straightforward extensions to the simpler multiset discrimination technique. By reformulating language processing problems in terms of multiset discrimination, we also show how almost every subtask of compilation can be solved without hashing in worst case running time no worse (and frequently better) than the best previous expected time solution (under the assumption that one hash operation takes unit expected time). Because of their simplicity, our solutions may be of practical as well as theoretical interest. The various applications presented culminate with a new algorithm to solve iterated strength reduction folded with useless code elimination that runs in worst case asymptotic time and auxiliary space Θ(¦L¦ + ¦L'¦), where ¦L¦ and ¦L'¦ represent the lengths of the initial and optimized programs, respectively. The previous best solution due to Cocke and Kennedy (1977) takes Ω(¦L¦3¦L'¦) has operations in the worst case.
Jiazhen Cai, Robert Paige
Theor. Comput. Sci.2
1993 Towards Increased Productivity of Algorithm Implementation
abstract
This paper reports experimental results that support the feasibility of a new transformational approach developed by the authors for implementing complex algorithms correctly and efficiently. The class of algorithms amenable to our methods includes nonnumerical graph algorithms. Experiments were performed to measure how this approach affects productivity (in terms of the number of source lines in the implementation divided by manual programming time) and running times. Comparative benchmarks showed that productivity can be increased over a conventional ad hoc approach by factors ranging from 5.1 to 9.9 Preliminary results also showed that the running time of C code produced by this new approach can be as fast as 1.5 times that of tightly coded high quality Fortran.
Jiazhen Cai, Robert Paige
SIGSOFT FSE2
1992 From Regular Expressions to DFA's Using Compressed NFA's
Chia-Hsiang Chang, Robert Paige
CPM2
1992 More Efficient Bottom-Up Multi-Pattern Matching in Trees
abstract
Pattern matching in trees is fundamental to a variety of programming language systems. However, progress has been slow in satisfying a pressing need for general-purpose pattern-matching algorithms that are efficient in both time and space. We offer asymptotic improvements in both time and space to Chase's bottom-up algorithm for pattern preprocessing. A preliminary implementation of our algorithm runs ten times faster than Chase's (1987) implementation on the hardest problem instances. Our preprocessing algorithm has the advantage of being on-line with respect to pattern additions and deletions. It also adapts to favorable input instances, and on Hoffmann and O'Donnell's (1982) class of simple patterns, it performs better than their special-purpose algorithm tailored to this class. We show how to modify our algorithm using a new decomposition method to obtain a space/time tradeoff. Finally, we trade a log factor in time for a linear space bottom-up pattern-matching algorithm that handles a wide subclass of Hoffmann and O'Donnell's (1982) simple patterns.
Jiazhen Cai, Robert Paige, Robert E. Tarjan
Theor. Comput. Sci.2
1991 "Look Ma, No Hashing, And No Arrays Neither"
abstract
It is generally assumed that hashing is essential to many algorithms related to efficient compilation; e.g., symbol table formation and maintenance, grammar manipulation, basic block optimization, and global optimization.This paper questions this assumption, and initiates development of an efficient alternative compiler methodology without hashing or sorting.Underlying this methodology are several generic algorithmic tools, among which special importance is given to Multiset Discrimination, which partitions a multiset into blocks of duplicate elements.We show how multiset discrimination, together with other tools, can be tailored to rid compilation of hashing without loss in asymptotic performance.Because of the simplicity of these tools, our results maybe of practical as well as theoretical interest.The various applications presented culminate with a new algorithm to solve iterated strength reduction folded with useless code elimination that runs in worst case asymptotic time and auxiliary space linear in the maximum text length of the initial and optimized programs.1. Introduction.with linear search time and a hash table.They also pro-An important practical and theoretical question in Computer Science is whether there are algorithms whose worst case performance can match the expected performance of solutions that utilize hashing.In the context of this broader question, we initiate an investigation of efficient compilation without hashing and, consequently, raise some doubts about the prevailing view that hashing (e.g., universal hashing [5]) is essential to the various 2. The research of this author was partiatly
Jiazhen Cai, Robert Paige
POPL2
1990 Symbolic Finite Differencing - Part I
Robert Paige
ESOP1
1989 Program Derivation by Fixed Point Computation
Jiazhen Cai, Robert Paige
Sci. Comput. Program.2
1987 Binding Performance at Language Design Time
abstract
An important research goal in software engineering and programming languages is the development of principles underlying the specification of computable problems, the translation of these problems into efficient and correct programs, and the performance analysis of these programs. This paper uncovers some of these principles, which are used to design a problem specification language L1 restricted to problems that can be compiled automatically into programs whose worst case asymptotic time and space complexities are linear in the input/output space. Any problem expressible in L1 can be compiled into a linear cost program. A compiler for L1 has been implemented in the RAPTS transformational programming system.
Jiazhen Cai, Robert Paige
POPL2
1987 Mechanical Translation of Set Theoretic Problem Specifications into Efficient RAM Code-A Case Study
Robert Paige, Fritz Henglein
J. Symb. Comput.1
1987 Three Partition Refinement Algorithms
abstract
We present improved partition refinement algorithms for three problems: lexicographic sorting, relational coarsest partition, and double lexical ordering. Our double lexical ordering algorithm uses a new, efficient method for unmerging two sorted sets.
Robert Paige, Robert E. Tarjan
SIAM J. Comput.1
1985 A Linear Time Solution to the Single Function Coarsest Partition Problem
Robert Paige, Robert E. Tarjan, Robert Bonic
Theor. Comput. Sci.1
1984 A Linear Time Algorithm to Solve the Single Function Coarsest Partition Problem
Robert Paige, Robert E. Tarjan
ICALP1
1983 Transformational Programming - Applications to Algorithms and Systems
abstract
Ten years ago Cheatham and Wegbreit [4] proposed a transformational program development methodology based on notions of top-down stepwise program refinement first expressed by Dijkstra [10] and Wirth [45]. A schema describing the process of this methodology is given in fig. 1. To develop a program by transformation, we first specify the program in as high a level of abstraction and as great a degree of clarity as our programming language admits. This high level problem statement program P is proved correct semimechanically according to some standard approach (see Flovd and Hoare [15, 21]), Next, using an interactive system equipped with a library of encoded transformations, each of which maps a correct program into another equivalent program, we select and apply transformations one at a time to successive versions of the program until we obtain a concrete, low level, effecient implementation version P'. The goals of transformational programming are to reduce programming labor, improve program reliability, and upgrade program performance. In order for labor to be reduced, the effort required to obtain P, prove it correct, and derive P' by transformation should be less than the effort required to code P from scratch, and also to debug it. Program reliability will be improved if P can be certified correct, and if each transformation preserves program meaning. Finally, program performance will be upgraded if transformations are directed towards increased efficiency.
Robert Paige
POPL1
1982 Finite Differencing of Computable Expressions
abstract
Finite differencing is a program optimization method that generalizes strength reduction, and provides an efficient implementation for a host of program transformations including "iterator inversion."Finite differencing is formally specified in terms of more basic transformations shown to preserve program semantics.Estimates of the speedup that the technique yields are given.A full illustrative example of algorithm derivation is presented.
Robert Paige, Shaye Koenig
ACM Trans. Program. Lang. Syst.1
1981 A Transformational Framework for the Automatic Control of Derived Data
Shaye Koenig, Robert Paige
VLDB2
1977 Reduction in Strength of High Level Operations
Robert Paige, Jacob T. Schwartz
POPL1