EDBT 2026 Demo / reviewers in the wild / expert
Benjamin Goldberg 0001
dblp:57/1524 · also Benjamin F. Goldberg
· DBLP profile ↗
17ranked-venue papers
5as first author
0since 2021 · last 2010
0009-0008-5879-0697ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 12 · 5 first-authorTheory of computation · 4Systems, architecture and hardware · 2Databases, data management, data science and information retrieval · 2
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
4 papers |
Compilers and program optimization · 54% Runtime systems and virtual machines · 25% Program verification · 14% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Parallel and multicore computing · 60% Distributed systems · 34% Processor architecture and microarchitecture · 6% |
Topics — the 8 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › verified compilation
translation validation |
0.1 | 1 | 2005 | TVOC: A Translation Validator for Optimizing Compilers · CAV 2005 |
Runtime systems and virtual machines
garbage collection |
0.0 | 3 | 1992 | Escape Analysis on Lists · PLDI 1992 Tag-Free Garbage Collection for Strongly Typed Programming Languages · PLDI 1991 Generational Reference Counting: A Reduced-Communication Distributed Storage Reclamation Scheme · PLDI 1989 |
Program analysis › static analysis › pointer analysis
escape analysis |
0.0 | 1 | 1992 | Escape Analysis on Lists · PLDI 1992 |
Runtime systems and virtual machines › garbage collection
reference counting |
0.0 | 1 | 1989 | Generational Reference Counting: A Reduced-Communication Distributed Storage Reclamation Scheme · PLDI 1989 |
Parallel and multicore computing › parallel programming models › automatic parallelization
functional program parallelization |
0.0 | 1 | 1985 | Distributed Execution of Functional Programs Using Serial Combinators · IEEE Trans. Computers 1985 |
Parallel and multicore computing › parallelization strategies
parallel program decomposition |
0.0 | 1 | 1985 | Distributed Execution of Functional Programs Using Serial Combinators · IEEE Trans. Computers 1985 |
Parallel and multicore computing
parallel programming models |
0.0 | 1 | 1985 | Distributed Execution of Functional Programs Using Serial Combinators · IEEE Trans. Computers 1985 |
Processor architecture and microarchitecture
multiprocessor architecture |
0.0 | 1 | 1985 | Distributed Execution of Functional Programs Using Serial Combinators · IEEE Trans. Computers 1985 |
Methods — techniques the papers use, named apart from their topics
simulation · 0.0program transformation · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2010 | Translation Validation of Loop Optimizations and Software Pipelining in the TVOC Framework - In Memory of Amir Pnueli
Benjamin Goldberg 0001 |
SAS | 1 |
| 2005 | TVOC: A Translation Validator for Optimizing Compilers
Clark W. Barrett, Yi Fang 0001, Benjamin Goldberg 0001, Ying Hu 0003, Amir Pnueli, Lenore D. Zuck |
CAV | 3 |
| 2005 | Translation and Run-Time Validation of Loop Transformations
Lenore D. Zuck, Amir Pnueli, Benjamin Goldberg 0001, Clark W. Barrett, Yi Fang 0001, Ying Hu 0003 |
Formal Methods Syst. Des. | 3 |
| 2004 | Theory and Algorithms for the Generation and Validation of Speculative Loop Optimizations
Ying Hu 0003, Clark W. Barrett, Benjamin Goldberg 0001 |
SEFM | 3 |
| 1997 | Formal Models of Distributed Memory ManagementabstractWe develop am abstract model of memory management in distributed systems. The model is low-level enough so that we can express communication, allocation and garbage collection, but otherwise hides many of the lower-level details of an actual implementation.Recently, such formal models have been developed for memory management in a functional, sequential setting [10]. The models are rewriting systems whose terms are programs. Programs have both the "code" (control string) and the "store" syntactically apparent. Evaluation is expressed as conditional rewriting and includes store operations. Garbage collection becomes a rewriting relation that removes part of the store without affecting the behavior of the program.Distribution adds another dimension to an already complex problem. By using techniques developed for communicating and concurrent systems [9], we extend their work to a distributed environment. Sending and receiving messages is also made apparent at the syntactic level. A very general garbage collection rule based on reachability is introduced and proved correct. Now proving correct a specific collection strategy is reduced to showing that the relation between programs defined by the strategy is a sub-relation of the general relation. Any actual implementation which is capable of providing the transitions (including their atomicity constraints) specified by the strategy is therefore correct.This model allows us to specify and prove correct in a compact manner two garbage collectors; the first one does a simple garbage collection local to a node. The second garbage collector uses migration of data in order to be able to reclaim inter-node cyclic garbage. Cristian Ungureanu, Benjamin Goldberg 0001 |
ICFP | 2 |
| 1997 | Partial-Evaluation Techniques for Concurrent ProgramsabstractThis paper presents an application of partial evaluation (program specialization) techniques to concurrent programs. The language chosen for this investigation is a very simple CSP-like language. A standard binding-time analysis for imperative languages is extended in order to deal with the basic concurrent constructs (synchronous communication and nondeterministic choice). Based on the binding-time annotations, a specialization transformation is defined and proved correct. In order to maintain a simple and clear presentation, the specialization algorithm addresses only the data transfer component of the communication; partial evaluation, the way it is defined here, always generates residual synchronizations. However, a simple approximate analysis for detecting and removing redundant synchronizations from the residual program (i.e. synchronizations whose removal does not increase the nondeterminism of a program) can be performed. The paper also addresses pragmatic concerns such as improving the binding-time analysis, controlling loop unrolling and the consequences of lifting nondeterminism from run-time to specialization-time. Finally, the power of the newly developed technique is shown in several examples. Mihnea Marinescu, Benjamin Goldberg 0001 |
PEPM | 2 |
| 1997 | A Syntactic Method for Finding Least Fixed Points of Higher-Order Functions over Finite DomainsabstractThis paper describes a method for finding the least fixed points of higher-order functions over finite domains using symbolic manipulation. Fixed point finding is an essential component in the calculation of abstract semantics of functional programs, providing the foundation for program analyses based on abstract interpretation. Previous methods for fixed point finding have primarily used semantic approaches, which often must traverse large portions of the semantic domain even for simple programs. This paper provides the theoretical framework for a syntax-based analysis that is potentially very fast. The proposed syntactic method is based on an augmented simply typed lambda calculus where the symbolic representation of each function produced in the fixed point iteration is transformed to a syntactic normal form. Normal forms resulting from successive iterations are then compared syntactically to determine their ordering in the semantic domain, and to decide whether a fixed point has been reached. We show the method to be sound, complete and compositional. Examples are presented to show how this method can be used to perform strictness analysis for higher-order functions over non-flat domains. Our method is compositional in the sense that the strictness property of an expression can be easily calculated from those of its sub-expressions. This is contrary to most strictness analysers, where the strictness property of an expression has to be computed anew whenever one of its subexpressions changes. We also compare our approach with recent developments in strictness analysis. Tyng-Ruey Chuang, Benjamin Goldberg 0001 |
J. Funct. Program. | 2 |
| 1995 | Static Analysis for Optimizing Reference CountingabstractIn reference counting schemes for automatically reclaiming storage, each time a reference to a heap-allocated object is created or destroyed, the reference count of the object needs to be updated. This may involve expensive inter-processor message exchanges in distributed environments. This overhead can be reduced by analyzing the lifetimes of references to avoid unnecessary updatings. We present a compile-time analysis for higher-order functional languages that determines whether the lifetime of a reference exceeds the lifetime of the environment in which the reference was created. Using this statically inferred information, a method for optimizing reference counting schemes is described. Our method can be applied to reference counting schemes in both uniprocessor and multiprocessor environments. Young Park, Benjamin Goldberg 0001 |
Inf. Process. Lett. | 2 |
| 1995 | Order-of-Demand Analysis for Lazy LanguagesabstractThis paper presents a method for statically inferring a range of information including strictness, evaluation-order, and evaluation-status information in a higher-order polymorphically-typed lazy functional language. This method is based on a compile-time analysis called order-of-demand analysis, which provides safe information about the order in which the values of bound variables are demanded. The time complexity of the analysis is substantially less than that of other approaches such as path analysis [5] and compositional analysis [7] and comparable to that of strictness analysis. Young Gil Park, Benjamin Goldberg 0001 |
Inf. Process. Lett. | 2 |
| 1992 | Incremental Garbage Collection Without Tags
Benjamin Goldberg 0001 |
ESOP | 1 |
| 1992 | Escape Analysis on ListsabstractHigher order functional programs constantly allocate objects dynamically. These objects are typically cons cells, closures, and records and are generally allocated in the heap and reclaimed later by some garbage collection process. This paper describes a compile time analysis, called escape analysis, for determining the lifetime of dynamically created objects in higher order functional programs, and describes optimizations that can be performed, based on the analysis, to improve storage allocation and reclamation of such objects. In particular, our analysis can be applied to programs manipulating lists, in which case optimizations can be performed to allow cons cells in spines of lists to be either reclaimed immediately or reused without incurring any garbage collection overhead. In a previous paper on escape analysis [10], we had left open the problem of performing escape analysis on lists. Young Gil Park, Benjamin Goldberg 0001 |
PLDI | 2 |
| 1991 | Reference Escape Analysis: Optimizing Reference Counting based on the Lifetime of ReferencesabstractIn reference counting schemes for automatically reclaiming storage, each time a reference to an object is created or destroyed, the reference count of the object needs to be updated.This may involve expensive inter-processor message exchanges in distributed environments.This overhead can be reduced by analyzing the lifetimes of references to avoid unnecessary updatings.This paper describes a technique for reducing the runtime reference counting overhead through compile-time optimization.We present a compile-time analysis called re~erence escape analysis for higher-order functional languages that determines whether the lifetime of a reference ezceeds the lifetime of the environment in which the reference was created.Using this statically inferred information, a method for optimizing reference counting schemes is described.Our method can be applied to reference counting schemes in both uniprocessor and multiprocessor environments. Young Gil Park, Benjamin Goldberg 0001 |
PEPM | 2 |
| 1991 | Tag-Free Garbage Collection for Strongly Typed Programming LanguagesabstractWith the emergence of a number of strongly typed kmguages with very dynamic storage allocation, efficient methods of storage reclamation have become especially important, Even though no type tags are required for type checking programs written in these languages, current implementations douse tags to support run time garbage collection, This often inflicts a high time and space overhead on program execution. Since the early days of LISP (and Algo168 later on), there have been schemes for performing tag-free garbage collection, In this paper, we describe an improvement of existing methods that leads to more effective storage rechunation in the absence of tags. Garbage collection has also traditionally been viewed as being independent of the particular program being executed. This means that results of compile-time analyses which could increase the effectiveness of garbage collection cannot be incorporated easily into the garbage collection process. This paper describes a method for performing garbage collection 1) in the absence of tagged data, and 2) using compile-time information. This method relies on compiler-generated garbage collection routines specific to the program bekg executed and incurs no time overhead during execution other then the cost of the garbage collection process itself. We describe tag-free garbage collection methods for monomorphically typed and polymorphically typed languages, and suggest how they might be extended to support parallel languages. Benjamin Goldberg 0001 |
PLDI | 1 |
| 1990 | Higher Order Escape Analysis: Optimizing Stack Allocation in Functional Program Implementations
Benjamin Goldberg 0001, Young Gil Park |
ESOP | 1 |
| 1989 | Generational Reference Counting: A Reduced-Communication Distributed Storage Reclamation SchemeabstractThis paper describes generational reference counting, a new distributed storage reclamation scheme for loosely-coupled multiprocessors. It has a significantly lower communication overhead than distributed versions of conventional reference counting. Although generational reference counting has greater computational and space requirements than ordinary reference counting, it may provide a significant saving in overall execution time on machines in which message passing is expensive. Benjamin Goldberg 0001 |
PLDI | 1 |
| 1985 | Efficient Distributed Evaluation of Functional Programs Using Serial Combinators
Paul Hudak, Benjamin Goldberg 0001 |
ICPP | 2 |
| 1985 | Distributed Execution of Functional Programs Using Serial CombinatorsabstractA general strategy for automatically decomposing and dynamically distributing a functional program is discussed. The strategy is suitable for parallel execution on multiprocessor architectures with no shared memory. It borrows ideas from data flow and reduction machine research on the one hand, and from conventional compiler technology for sequential machines on the other. One of the more troublesome issues in such a system is choosing the right granularity for the parallel tasks. As a solution, the authors describe a program transformation technique based on serial combinators that offers in some sense just the right granularity for this style of computing, and that can be fine-tuned for particular multiprocessor architectures. Simulation demonstrates the success of this approach. Paul Hudak, Benjamin Goldberg 0001 |
IEEE Trans. Computers | 2 |