ACM SIGPLAN 2006 Conference on
Programming Language Design and Implementation

Technical Program
By Day Monday, June 12 Tuesday, June 13 Wednesday, June 14
By Topic Transactions Medley   Garbage Collection
Compilers Reg.Alloc./Inst.Sched. Static Analysis
Dynamic Techniques Runtime Opt.+Profiling    
Parallelism Language Constructs    
Memory Safety Race Detection    
Monday, June 12             
Transactions (Chair: Eliot Moss)
9:00 am The Atomos Transactional Programming Language, PDF
Brian D. Carlstrom, Austen McDonald, Hassan Chafi, JaeWoong Chung,
Chi Cao Minh, Christos Kozyrakis, Kunle Olukotun (Stanford University)
9:25 am Optimizing Memory Transactions, PPT
Timothy Harris, Mark Plesko (Microsoft Research)
Avraham Shinnar (Harvard University) 
David Tarditi (Microsoft Research)
9:50 am Compiler and Runtime Support for Efficient Software Transactional Memory, PPT
Ali-Reza Adl-Tabatabai, Brian T. Lewis, Vijay Menon, 
Brian R. Murphy, Bratin Saha, Tatiana Shpeisman (Intel)
10:15 am
Compilers (Chair: Jack Davidson)
10:40 am Better Extensibility through Modular Syntax, PDF
Robert Grimm (New York University)
11:05 am Fast and Flexible Instruction Selection with On-Demand Tree-Parsing Automata, PDF
M. Anton Ertl (TU Wien)
Kevin Casey, David Gregg (University of Dublin, Trinity College)
11:30 am A Framework for Unrestricted Whole-Program Optimization, PPT
Spyridon Triantafyllis, Matthew J. Bridges, Easwaran Raman,
  Guilherme Ottoni, David I. August (Princeton University)
12:00 pm
Dynamic Techniques (Chair: Jeff Foster)
1:30 pm Practical Dynamic Software Updating for C, PDF
Iulian Neamtiu, Michael Hicks (University of Maryland)
Gareth Stoyle (University of Cambridge) 
Manuel Oriol (ETH Zurich)
1:55 pm Artemis: Practical Runtime Monitoring of Applications for Errors, PPT
Long Fei, Samuel P. Midkiff (Purdue University)
2:20 pm An Experimental Analysis of Self-Adjusting Computation, PDF
Umut A. Acar (Toyota Technological Institute)
Guy Blelloch (Carnegie Mellon University)
Matthias Blume (Toyota Technological Institute)
Kanat Tangwongsan (Carnegie Mellon University)
2:45 pm
Parallelism (Chair: Michael Schwartzbach)
3:10 pm Shared Memory Programming for Large Scale Machines, PDF
Christopher Barton (University of Alberta)
Calin Cascaval, Siddhartha Chatterjee, George Almasi (IBM T.J. Watson Research Center)
Yili Zheng (Purdue University)
Montse Farreras (UPC Barcelona) 
Jose Amaral (University of Alberta)
3:35 pm Optimizing Data Permutations for SIMD Devices, PPT
Gang Ren (University of Illinois at Urbana-Champaign) 
Peng Wu (IBM T.J. Watson Research Center)  
David Padua (University of Illinois at Urbana-Champaign)
4:00 pm Auto-Vectorization of Interleaved Data for SIMD, PPT
Dorit Nuzman, Ira Rosen, Ayal Zaks (IBM Haifa Labs)
4:25 pm
Memory Safety (Chair: Satish Chandra)
4:50 pm SAFECode: Enforcing Alias Analysis for Weakly Typed Languages, PPT
Dinakar Dhurjati, Sumant Kowshik,
Vikram Adve (University of Illinois at Urbana-Champaign)
5:15 pm DieHard: Probabilistic Memory Safety for Unsafe Languages, PDF, PPT
Emery D. Berger (University of Massachusetts Amherst) 
Benjamin G. Zorn (Microsoft Research)
Tuesday, June 13            
Medley (Chair: Thomas Ball)
9:00 am Pruning Dynamic Slices With Confidence, PPT
Xiangyu Zhang, Neelam Gupta, Rajiv Gupta (University of Arizona)
9:25 am Context-Sensitive Domain-Independent Algorithm Composition and Selection, PPT
Troy A Johnson, Rudolf Eigenmann (Purdue University)
9:50 am Reducing NoC Energy Consumption Through Compiler-Directed Channel Voltage Scaling, PPT
Guangyu Chen, Feihui Li, Mahmut Kandemir, Mary Jane Irwin (Pennsylvania State University)
10:15 am
Register Allocation and Instruction Scheduling (Chair: Keith Cooper)
10:40 am A Global Progressive Allocator, PPT
David Ryan Koes, Seth Copen Goldstein (Carnegie Mellon University)
11:05 am Profile-Based Global Live-Range Splitting, PDF
Takuya Nakaike, Tatsushi Inagaki, Hideaki Komatsu, 
Toshio Nakatani (IBM Tokyo Research Laboratory)
11:30 am Automatic Instruction Scheduler Retargeting by Reverse-Engineering, PPT
Matthew Bridges, Neil Vachharajani, Guilherme Ottoni 
David I. August (Princeton University)
12:00 pm
Runtime Optimization and Profiling (Chair: Laurie Hendren)
1:30 pm Online Performance Auditing: Using Hot Optimizations Without Getting Burned, PPT
Jeremy Lau (UC San Diego)
Matthew Arnold, Michael Hind (IBM T.J. Watson Research Center)
Brad Calder (UC San Diego)
1:55 pm Cache-conscious Coallocation of Hot Data Streams
Trishul Chilimbi (Microsoft Research)
Ran Shaham (Amuse Toy & Game Development)
2:20 pm Accurate, Efficient, and Adaptive Calling Context Profiling, PDF
Xiaotong Zhuang (Georgia Institute of Technology) 
Mauricio Serrano, Harold Cain, Jong-Deok Choi (IBM T.J. Watson Research Center)
2:45 pm
Language Constructs (Chair: Todd Millstein)
3:10 pm Algorithm Specialization in Generic Programming - Challenges of Constrained Generics in C++, PDF
Jaakko Järvi (Texas A&M University),  
Douglas Gregor, Jeremiah Willcock, Andrew Lumsdaine (Indiana University)
Jeremy Siek (Rice University)
3:35 pm Eventrons: A Safe Programming Construct for High-Frequency Hard Real-Time Applications, PDF
Daniel Spoonhower (Carnegie Mellon University), 
Joshua Auerbach, David F. Bacon, Perry Cheng,
  David Grove (IBM Research)
4:00 pm Continuations and Transducer Composition, PDF
Olin Shivers, Matthew Might (Georgia Institute of Technology)
4:25 pm
Race Detection (Chair: Mooly Sagiv)
4:50 pm Effective Static Race Detection for Java, PPT
Mayur Naik, Alex Aiken, John Whaley (Stanford University)
5:15 pm LOCKSMITH: Context-Sensitive Correlation Analysis for Race Detection, PDF
Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks (University of Maryland)
Wednesday, June 14            
Garbage Collection (Chair: Susan Graham)
8:00 am Profile-guided Proactive Garbage Collection for Locality Optimization
Wen-ke Chen, Sanjay Bhansali, Trishul Chilimbi (Microsoft Research)
Xiaofeng Gao, Weihaw Chuang (UC San Diego)
8:25 am Correctness-Preserving Derivation of Concurrent Garbage Collection Algorithms, PPT
Martin T. Vechev (Cambridge University)
Eran Yahav, David F. Bacon (IBM T.J. Watson Research Center)
8:50 am The Compressor: Concurrent, Incremental, and Parallel Compaction, PPT
Haim Kermany, Erez Petrank (Technion)
9:15 am

Free-Me: A Static Analysis for Automatic Individual Object Reclamation, PDF

Samuel Z. Guyer (Tufts University)
Kathryn S. McKinley (University of Texas at Austin) 
Daniel Frampton (Australian National University)
9:40 am
Static Analysis (Chair: Patrick Cousot)
10:05 am Combining Abstract Interpreters, PPT
Sumit Gulwani (Microsoft Research) 
Ashish Tiwari (SRI International)
10:30 am Refinement-based Context-sensitive Points-to analysis for Java, PPT
Manu Sridharan, Rastislav Bodik (UC Berkeley)
10:55 am Modular Verification of Assembly Code with Stack-Based Control Abstractions, PPT
Xinyu Feng, Zhong Shao, Alexander Vaynberg (Yale University) 
Sen Xiang (University of Science and Technology of China) 
Zhaozhong Ni (Yale University)
11:20 am Termination Proofs for Systems Code, PPT
Byron Cook (Microsoft Research)
Andreas Podelski, Andrey Rybalchenko (Max-Plank-Institut for Informatik)