| 1996 | A General Approach for Run-Time Specialization and its Application to C. Charles Consel, François Noël |
| 1996 | A Modal Analysis of Staged Computation. Rowan Davies, Frank Pfenning |
| 1996 | A Practical and Flexible Flow Analysis for Higher-Order Languages. J. Michael Ashley |
| 1996 | A Provably Time-Efficient Parallel Implementation of Full Speculation. John Greiner, Guy E. Blelloch |
| 1996 | An Interpretation of Objects and Object Types. Martín Abadi, Luca Cardelli, Ramesh Viswanathan |
| 1996 | Bisimilarity for a First-Order Calculus of Objects with Subtyping. Andrew D. Gordon, Gareth D. Rees |
| 1996 | C: A Language for High-Level, Efficient, and Machine-Independent Dynamic Code Generation. Dawson R. Engler, Wilson C. Hsieh, M. Frans Kaashoek |
| 1996 | Composing Processes. Kohei Honda |
| 1996 | Concurrent Haskell. Simon L. Peyton Jones, Andrew D. Gordon, Sigbjørn Finne |
| 1996 | Conference Record of POPL'96: The 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Papers Presented at the Symposium, St. Petersburg Beach, Florida, USA, January 21-24, 1996 Hans-Juergen Boehm, Guy L. Steele Jr. |
| 1996 | Discovering Auxiliary Information for Incremental Computation. Yanhong A. Liu, Scott D. Stoller, Tim Teitelbaum |
| 1996 | Faster Checking of Software Specifications by Eliminating Isomorphs. Daniel Jackson, Somesh Jha, Craig Damon |
| 1996 | Filter Fusion. Todd A. Proebsting, Scott A. Watterson |
| 1996 | From Region Inference to von Neumann Machines via Region Representation Inference. Lars Birkedal, Mads Tofte, Magnus Vejlstrup |
| 1996 | Functional Computation as Concurrent Computation. Joachim Niehren |
| 1996 | Generating Machine Specific Optimizing Compilers. Roger Hoover, F. Kenneth Zadeck |
| 1996 | Is it a Tree, a DAG, or a Cyclic Graph? A Shape Analysis for Heap-Directed Pointers in C. Rakesh Ghiya, Laurie J. Hendren |
| 1996 | Iterated Register Coalescing. Lal George, Andrew W. Appel |
| 1996 | Linearity and the Pi-Calculus. Naoki Kobayashi, Benjamin C. Pierce, David N. Turner |
| 1996 | Minimum Cost Interprocedural Register Allocation. Steven M. Kurlander, Charles N. Fischer |
| 1996 | On the Complexity of Beta-Reduction. Andrea Asperti |
| 1996 | Optimization and Relaxation in Constraint Logic Languages. Kannan Govindarajan, Bharat Jayaraman, Surya Mantha |
| 1996 | Points-to Analysis in Almost Linear Time. Bjarne Steensgaard |
| 1996 | Proving the Correctness of Reactive Systems Using Sized Types. John Hughes, Lars Pareto, Amr Sabry |
| 1996 | Pure versus Impure LISP. Nicholas Pippenger |
| 1996 | Putting Type Annotations to Work. Martin Odersky, Konstantin Läufer |
| 1996 | Revisiting Catamorphisms over Datatypes with Embedded Functions (or, Programs from Outer Space). Leonidas Fegaras, Tim Sheard |
| 1996 | Solving Shape-Analysis Problems in Languages with Destructive Updating. Shmuel Sagiv, Thomas W. Reps, Reinhard Wilhelm |
| 1996 | Static Analysis to Reduce Synchronization Costs in Data-Parallel Programs. Manish Gupta, Edith Schonberg |
| 1996 | The Reflexive CHAM and the Join-Calculus. Cédric Fournet, Georges Gonthier |
| 1996 | Trace-Based Program Analysis. Christopher Colby, Peter Lee |
| 1996 | Type-Directed Partial Evaluation. Olivier Danvy |
| 1996 | Typed Closure Conversion. Yasuhiko Minamide, J. Gregory Morrisett, Robert Harper |
| 1996 | Using Parameterized Signatures to Express Modular Structure. Mark P. Jones |
| 1996 | What Are Principal Typings and What Are They Good For? Trevor Jim |