Demo Data from SIGIR 2026 / reviewers in the wild / expert
James B. Saxe
dblp:95/1805
· DBLP profile ↗
19ranked-venue papers
3as first author
0since 2021 · last 2005
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 12 · 3 first-authorSoftware engineering, systems software and programming languages · 6Systems, architecture and hardware · 2Graphics, computer vision, multimedia, augmented reality and games · 1Applied, interdisciplinary, general and emerging computing · 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.
| Theoretical computer science
8 papers |
Automated reasoning and model checking · 78% Logic in computer science · 13% Computational geometry · 5% | |
| Software engineering, system software, and programming languages
3 papers |
Program verification · 81% Debugging and program repair · 19% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Interconnection networks and networks-on-chip · 54% Cloud and datacenter computing · 29% Electronic design automation · 6% | |
| Computer networks
2 papers |
Internet architecture and protocols · 62% Routing and switching · 38% |
Topics — the 30 heaviest of 34, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program verification › deductive verification
extended static checking |
0.1 | 2 | 2005 | Simplify: a theorem prover for program checking · J. ACM 2005 Extended Static Checking for Java · PLDI 2002 |
Program verification › deductive verification
verification condition generation |
0.1 | 2 | 2002 | Extended Static Checking for Java · PLDI 2002 Avoiding exponential explosion: generating compact verification conditions · POPL 2001 |
Debugging and program repair
error localization |
0.1 | 1 | 2005 | Simplify: a theorem prover for program checking · J. ACM 2005 |
Program verification
theorem proving |
0.1 | 1 | 2005 | Simplify: a theorem prover for program checking · J. ACM 2005 |
Automated reasoning and model checking
decision procedures |
0.1 | 1 | 2005 | Simplify: a theorem prover for program checking · J. ACM 2005 |
Automated reasoning and model checking › deduction
quantified reasoning |
0.1 | 1 | 2005 | Simplify: a theorem prover for program checking · J. ACM 2005 |
Automated reasoning and model checking
theorem proving |
0.1 | 2 | 2003 | Theorem Proving Using Lazy Proof Explication · CAV 2003 Extended Static Checking for Java · PLDI 2002 |
Logic in computer science
proof theory |
0.0 | 1 | 2003 | Theorem Proving Using Lazy Proof Explication · CAV 2003 |
Automated reasoning and model checking › model checking
compositional model checking |
0.0 | 1 | 2000 | Induction in Compositional Model Checking · CAV 2000 |
Automated reasoning and model checking
model checking |
0.0 | 1 | 2000 | Induction in Compositional Model Checking · CAV 2000 |
Interconnection networks and networks-on-chip › network scheduling
switch scheduling |
0.0 | 2 | 1993 | High Speed Switch Scheduling for Local Area Networks · ACM Trans. Comput. Syst. 1993 High Speed Switch Scheduling for Local Area Networks · ASPLOS 1992 |
Cloud and datacenter computing › datacenter network
bandwidth reservation |
0.0 | 1 | 1993 | High Speed Switch Scheduling for Local Area Networks · ACM Trans. Comput. Syst. 1993 |
Program verification
deductive verification |
0.0 | 1 | 2001 | Avoiding exponential explosion: generating compact verification conditions · POPL 2001 |
Program verification › predicate transformers
weakest precondition |
0.0 | 1 | 2001 | Avoiding exponential explosion: generating compact verification conditions · POPL 2001 |
Internet architecture and protocols
local area network |
0.0 | 1 | 1992 | High Speed Switch Scheduling for Local Area Networks · ASPLOS 1992 |
Routing and switching
switch architecture |
0.0 | 1 | 1992 | High Speed Switch Scheduling for Local Area Networks · ASPLOS 1992 |
Computational geometry
convex hull |
0.0 | 1 | 1987 | A Linear Time Algorithm for Computing the Voronoi Diagram of a Convex Polygon · STOC 1987 |
Computational geometry › convex hull
three-dimensional convex hull |
0.0 | 1 | 1987 | A Linear Time Algorithm for Computing the Voronoi Diagram of a Convex Polygon · STOC 1987 |
Computational geometry
voronoi diagram |
0.0 | 1 | 1987 | A Linear Time Algorithm for Computing the Voronoi Diagram of a Convex Polygon · STOC 1987 |
Internet architecture and protocols
quality of service |
0.0 | 1 | 1993 | High Speed Switch Scheduling for Local Area Networks · ACM Trans. Comput. Syst. 1993 |
Internet architecture and protocols › resource reservation
bandwidth reservation |
0.0 | 1 | 1992 | High Speed Switch Scheduling for Local Area Networks · ASPLOS 1992 |
Electronic design automation
high-level synthesis |
0.0 | 1 | 1981 | Optimizing Synchronous Systems · FOCS 1981 |
Processor architecture and microarchitecture › parallel computer organization
systolic array design |
0.0 | 1 | 1981 | Optimizing Synchronous Systems · FOCS 1981 |
Integrated circuit design
VLSI design |
0.0 | 1 | 1981 | Optimizing Synchronous Systems · FOCS 1981 |
Computational complexity
boolean function complexity |
0.0 | 1 | 1981 | Parity, Circuits, and the Polynomial-Time Hierarchy · FOCS 1981 |
Computational complexity
circuit complexity |
0.0 | 1 | 1981 | Parity, Circuits, and the Polynomial-Time Hierarchy · FOCS 1981 |
Computational complexity › circuit complexity › constant-depth circuits
constant-depth circuit lower bounds |
0.0 | 1 | 1981 | Parity, Circuits, and the Polynomial-Time Hierarchy · FOCS 1981 |
Computational complexity › boolean function complexity
parity function |
0.0 | 1 | 1981 | Parity, Circuits, and the Polynomial-Time Hierarchy · FOCS 1981 |
Computational complexity › complexity classes
polynomial hierarchy |
0.0 | 1 | 1981 | Parity, Circuits, and the Polynomial-Time Hierarchy · FOCS 1981 |
Computational complexity
relativization |
0.0 | 1 | 1981 | Parity, Circuits, and the Polynomial-Time Hierarchy · FOCS 1981 |
Methods — techniques the papers use, named apart from their topics
nelson-oppen method · 0.1e-graph matching · 0.1theorem proving · 0.1annotation language · 0.1lazy proof explication · 0.0SAT solving · 0.0statistical matching · 0.0parallel iterative matching · 0.0weakest precondition · 0.0two-stage VC generation · 0.0shortest path · 0.0graph transformation · 0.0reduction · 0.0lower bound proof · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2005 | Simplify: a theorem prover for program checkingabstractThis article provides a detailed description of the automatic theorem prover Simplify, which is the proof engine of the Extended Static Checkers ESC/Java and ESC/Modula-3. Simplify uses the Nelson--Oppen method to combine decision procedures for several important theories, and also employs a matcher to reason about quantifiers. Instead of conventional matching in a term DAG, Simplify matches up to equivalence in an E-graph, which detects many relevant pattern instances that would be missed by the conventional approach. The article describes two techniques, error context reporting and error localization, for helping the user to determine the reason that a false conjecture is false. The article includes detailed performance figures on conjectures derived from realistic program-checking problems. David Detlefs, Greg Nelson, James B. Saxe |
J. ACM | 3 |
| 2005 | Generating error traces from verification-condition counterexamples
K. Rustan M. Leino, Todd D. Millstein, James B. Saxe |
Sci. Comput. Program. | 3 |
| 2003 | Theorem Proving Using Lazy Proof Explication
Cormac Flanagan, Rajeev Joshi, Xinming Ou, James B. Saxe |
CAV | 4 |
| 2002 | Extended Static Checking for JavaabstractSoftware development and maintenance are costly endeavors. The cost can be reduced if more software defects are detected earlier in the development cycle. This paper introduces the Extended Static Checker for Java (ESC/Java), an experimental compile-time program checker that finds common programming errors. The checker is powered by verification-condition generation and automatic theorem-proving techniques. It provides programmers with a simple annotation language with which programmer design decisions can be expressed formally. ESC/Java examines the annotated software and warns of inconsistencies between the design decisions recorded in the annotations and the actual code, and also warns of potential runtime errors in the code. This paper gives an overview of the checker architecture and annotation language and describes our experience applying the checker to tens of thousands of lines of Java programs. Cormac Flanagan, K. Rustan M. Leino, Mark Lillibridge, Greg Nelson, James B. Saxe, Raymie Stata |
PLDI | 5 |
| 2001 | Avoiding exponential explosion: generating compact verification conditionsabstractCurrent verification condition (VC) generation algorithms, such as weakest preconditions, yield a VC whose size may be exponential in the size of the code fragment being checked. This paper describes a two-stage VC generation algorithm that generates compact VCs whose size is worst-case quadratic in the size of the source fragment, and is close to linear in practice.This two-stage VC generation algorithm has been implemented as part of the Extended Static Checker for Java. It has allowed us to check large and complex methods that would otherwise be impossible to check due to time and space constraints. Cormac Flanagan, James B. Saxe |
POPL | 2 |
| 2000 | Induction in Compositional Model Checking
Kenneth L. McMillan, Shaz Qadeer, James B. Saxe |
CAV | 3 |
| 1993 | Finding Extrema with Unary Predicates
Feng Gao 0002, Leonidas J. Guibas, David G. Kirkpatrick, William T. Laaser, James B. Saxe |
Algorithmica | 5 |
| 1993 | Using Transformations and Verification in Circuit Design
James B. Saxe, James J. Horning, John V. Guttag, Stephen J. Garland |
Formal Methods Syst. Des. | 1 |
| 1993 | High Speed Switch Scheduling for Local Area NetworksabstractCurrent technology trends make it possible to build communication networks that can support high-performance distributed computing. This paper describes issues in the design of a prototype switch for an arbitrary topology point-to-point network with link speeds of up to 1 Gbit/s. The switch deals in fixed-length ATM-style cells, which it can process at a rate of 37 million cells per second. It provides high bandwidth and low latency for datagram traffic. In addition, it supports real-time traffic by providing bandwidth reservations with guaranteed latency bounds. The key to the switch's operation is a technique called parallel iterative matching , which can quickly identify a set of conflict-free cells for transmission in a time slot. Bandwidth reservations are accommodated in the switch by building a fixed schedule for transporting cells from reserved flows across the switch; parallel iterative matching can fill unused slots with datagram traffic. Finally, we note that parallel iterative matching may not allocate bandwidth fairly among flows of datagram traffic. We describe a technique called statistical matching , which can be used to ensure fairness at the switch and to support applications with rapidly changing needs for guaranteed bandwidth. Thomas E. Anderson, Susan S. Owicki, James B. Saxe, Charles P. Thacker |
ACM Trans. Comput. Syst. | 3 |
| 1992 | High Speed Switch Scheduling for Local Area NetworksabstractCurrent technology trends make it possible to build communication networks that can support high performance distributed computing. This paper describes issues in the design of a prototype switch for an arbitrary topology point-to-point network with link speeds of up to one gigabit per second. The switch deals in fixed-length ATM-style cells, which it can process at a rate of 37 million cells per second. It provides high bandwidth and low latency for datagram traffic. In addition, it supports real-time traffic by providing bandwidth reservations with guaranteed latency bounds. The key to the switch''s operation is a technique called iterative matching, which can quickly identify a set of conflict-free cells for transmission in a time slot. Bandwidth reservations are accommodated in the switch by building a fixed schedule for transporting cells from reserved flows across the switch; parallel iterative matching can fill unused slots with datagram traffic. Finally, we note that parallel iterative matching may not allocate bandwidth fairly among flows of datagram traffic. We describe a technique called statistical matching, which can be used to ensure fairness at the switch and to support applications with rapidly changing needs for guaranteed bandwidth. Thomas E. Anderson, Susan S. Owicki, James B. Saxe, Charles P. Thacker |
ASPLOS | 3 |
| 1991 | Retiming Synchronous Circuitry
Charles E. Leiserson, James B. Saxe |
Algorithmica | 2 |
| 1989 | A Linear-Time Algorithm for Computing the Voronoi Diagram of a Convex Polygon
Alok Aggarwal, Leonidas J. Guibas, James B. Saxe, Peter W. Shor |
Discret. Comput. Geom. | 3 |
| 1987 | A Linear Time Algorithm for Computing the Voronoi Diagram of a Convex PolygonabstractWe present an algorithm for computing certain kinds of three-dimensional convex hulls in linear time. Using this algorithm, we show that the Voronoi diagram of n points in the plane can be computed in Θ(n) time when these points form the vertices of a convex polygon in, say, counterclockwise order. This settles an outstanding open problem in computational geometry. Our techniques can also be used to obtain linear time algorithms for computing the farthest-point Voronoi diagram and the medial axis of a convex polygon and for deleting a vertex from a general planar Voronoi diagram. Alok Aggarwal, Leonidas J. Guibas, James B. Saxe, Peter W. Shor |
STOC | 3 |
| 1984 | Parity, Circuits, and the Polynomial-Time Hierarchy
Merrick L. Furst, James B. Saxe, Michael Sipser |
Math. Syst. Theory | 2 |
| 1981 | Parity, Circuits, and the Polynomial-Time HierarchyabstractA super-polynomial lower bound is given for the size of circuits of fixed depth computing the parity function. Introducing the notion of polynomial-size, constant-depth reduction, similar results are shown for the majority, multiplication, and transitive closure functions. Connections are given to the theory of programmable logic arrays and to the relativization of the polynomial-time hierarchy. Merrick L. Furst, James B. Saxe, Michael Sipser |
FOCS | 2 |
| 1981 | Optimizing Synchronous SystemsabstractThe complexity of integrated-circuit chips produced today makes it feasible to build inexpensive, special-purpose subsystems that rapidly solve sophisticated problems on behalf of a general-purpose host computer. This paper contributes to the design methodology of efficient VLSI algorithms. We present a transformation that converts synchronous systems into more time-efficient, systolic implementations by removing combinational rippling. The problem of determining the optimized system can be reduced to the graph-theoretic single-destination-shortest-paths problem. More importantly from an engineering standpoint, however, the kinds of rippling that can be removed from a circuit at essentially no cost can be easily characterized. For example, if the only global communication in a system is broadcasting from the host computer, the broadcast can always be replaced by local communication. Charles E. Leiserson, James B. Saxe |
FOCS | 2 |
| 1980 | Generating Sorted Lists of Random NumbersabstractRandomThe empirical testing of a program often calls for generating a set of random numbers and then nnmedmtely sorting them.In this paper we consider the problem of accomplishing that process in a single step.generating a sorted list of random numbers (specifically, reals chosen uniformly from [0, 1]).The method we describe generates the randoms in linear worst-case time, is perfectly random (if it can call a perfectly random generator for a single uniform), and can be described in just a few lines of Algol or Pascal code.If the numbers are not requtred to be generated all at once {but are rather to be used one at a time), then the method can be implemented as a subroutine to produce the "next" number m constant tnne and requires only constant storage Key Words and Phrases: random number generation, sorting, probabilistic methods in algorithm design, linear-time algorithms CR Categories: 5.25, 5. Jon Louis Bentley, James B. Saxe |
ACM Trans. Math. Softw. | 2 |
| 1979 | Transforming Static Data Structures to Dynamic Structures (Abridged Version)abstractIn this paper we will investigate transformations that serve as tools in the design of new data structures. Specifically, we study general methods for converting static structures (in which all elements are known before any searches are performed) to dynamic structures (in which the insertion of a new element can be mixed with searches). We will see three classes of such transformations (each based on a different counting scheme for representing the integers) and then use a combinatorial model to show the optimality of many of the transformations. Issues such as online data structures and deletion of elements are also examined. To demonstrate the applicability of these tools, we will study six new data structures that have been developed by applying the transformations. James B. Saxe, Jon Louis Bentley |
FOCS | 1 |
| 1979 | On the number of range queries in k-space
James B. Saxe |
Discret. Appl. Math. | 1 |