Compiling for Instruction Level Parallel Architectures

Software Bubbles: Using Predication to Compensate for Aliasing in Software Pipelines, B. Goldberg, E. Chapman, C. Huneycutt, and K. Palem. PACT-2002 International Conference on Parallel Architectures and Compilation Techniques, September 2002


Validation of Compiler Optimizations

Translation Validation of Loop Optimizations and Software Pipelining in the TVOC Framework,   Proceedings of the 17th International Static Analysis Symposium (SAS 2010), September 2010.

Theory and Algorithms for the Generation and Validation of Speculative Loop Optimizations,   Ying Hu, Clark Barrett, and Benjamin Goldberg. 2004 IEEE Symposium on Software Engineering and Formal Methods (SEFM 2004). September 2004.

Into the Loops: Practical Issues in Translation Validation for Optimizing Compilers,   Benjamin Goldberg, Lenore Zuck and Clark Barrett. 2004 International Workshop on Compiler Optimizations Meets Compiler Verification (COCV'04), April 2004.

Translation and Run-Time Validation of Loop Tranformations,   L. Zuck, A. Pnueli, B. Goldberg, C. Barrett, Y. Fang, and Y. Hu. Formal Methods in System Design (FMSD), to appear.

Run-Time Validation of Speculative Optimizations using CVC,   Clark Barrett, Benjamin Goldberg, and Lenore Zuck. Third International Workshop on Run-time Verification (RV'03), July, 2003.

Translation and Run-Time Validation of Optimized Code L. Zuck, A. Pnueli, Y.Fang, B. Goldberg, and Y.Hu. Second International Workshop on Run-time Verification (RV'02), July, 2002. An extended version of this paper will appear in the Journal Formal Methods in System Design.

VOC: A Methodology for Translation Validation of Optimizing Compilers, L. Zuck, A. Pnueli, Y.Fang, and B. Goldberg. Journal of Universal Computer Science, Vol. 9, Issue 3, 2003.

VOC: A Translation Validator for Optimizing Compilers L. Zuck, A. Pnueli, Y.Fang, and B. Goldberg. 2002 International Workshop on Compiler Optimizations Meets Compiler Verification (COCV'02), April 2002.

Storage Management/Garbage Collection

Formal Models of Distributed Memory Management, C. Ungureanu and B. Goldberg. Proceedings of the ACM International Conference on Functional Programming, June 1997.

Polymorphic Type Reconstruction for Garbage Collection without Tags, B. Goldberg and M. Gloger. Proceedings of the 1992 ACM Conference on LISP and Functional Programming, June 1992.

Incremental Garbage Collection without Tags, B. Goldberg. Proceedings of the 1992 European Symposium on Programming, February 1992.

Reference Escape Analysis: Optimizing Reference Counting based on the Lifetime of References, Y.G. Park and B. Goldberg. Proceedings of the 1991 ACM/IFIP Conference on Partial Evaluation and Program Manipulation, June 1991.

Tag-Free Garbage Collection for Strongly Typed Programming Languages, B. Goldberg. Proceedings of the ACM SIGPLAN'91 Conference on Programming Language Design and Implementation, June 1991.

Generational Reference Counting: A Reduced-Communication Distributed Storage Reclamation Scheme, B. Goldberg. Proceedings of the SIGPLAN'89 Conference on Programming Language Design and Implementation, June 1989.

 

Functional Programming

Functional Programming Languages, B. Goldberg.  ACM Computing Surveys (50th Anniversary Issue), Vol. 28, No.1. March 1996.

Partial Evaluation of Concurrent Programs, M. Marinescu and B. Goldberg. Proceedings of the ACM Symposium on Partial Evaluation and Program Manipulation, June 1997.

Real-Time Deques, Multihead Turing Machines, and Purely Functional Programming, T-R. Chuang and B. Goldberg. Proceedings of the 1993 ACM Conference on Functional Programming Languages and Computer Architecture, June 1993.

A Syntactic Approach to Fixed Point Computation on Finite Domains, T.R. Chuang and B. Goldberg. Proceedings of the 1992 ACM Conference on LISP and Functional Programming, June 1992.

Escape Analysis on Lists Y.G. Park and B. Goldberg. Proceedings of the 1992 ACM SIGPLAN Conference on Programming Language Design and Implementation, June 1992.

Higher Order Escape Analysis: Optimizing Stack Allocation in Functional Program Implementations, Proceedings of the 1990 European Symposium on Programming, May 1990. Springer-Verlag LNCS 432, pp. 152-160.

Buckwheat: Graph Reduction on a Shared Memory Multiprocessor, B. Goldberg. Proceedings of the 1988 ACM Symposium on Lisp and Functional Programming, July 1988, pp. 40-51.

Executing Functional Programs on a Hypercube Multiprocessor,  B. Goldberg and P. Hudak. Proceedings of the Third Conference on Hypercube Concurrent Computers and Applications, January 1988.


Invited Tutorials

The Trimaran Compiler Research Infrastructure Tutorial, presented at PLDI’99, MICRO-31 (1998), and PACT’98.

Functional Programming Tutorial,  presented at  The 1994 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'94). Orlando, June 1994.