Monday June 6, 2011

8:00-8:50 a.m. Breakfast

8:50-9:50 a.m.

Session 1a Parallel Programming Notations

Chair: Michelle Mills Strout (Colorado State University)

  1. Commutative Set: A Language Extension for Implicit Parallel Programming

Prakash Prabhu, Soumyadeep Ghosh, Yun Zhang, Nicholas P. Johnson, and

David I. August (Princeton University)

  1. The Tao of Parallelism in Algorithms

Keshav Pingali, Donald Nguyen (The University of Texas at Austin), Milind Kulkarni (Purdue University),

Martin Burtscher(Texas State University, San Marcos), M. Amber Hassaan, Rashid Kaleem,

Tsung-Hsien Lee, Andrew Lenharth, Roman Manevich, Mario Mendez-Lojo, Dimitrios Prountzos,

Xin Sui (The University of Texas at Austin)

  1. Parallelism Orchestration using DoPE: the Degree of Parallelism Executive

Arun Raman, Hanjun Kim, Taewook Oh (Princeton University), Jae W. Lee (Parakinetics), and

David I. August (Princeton University)

Session 1b Program Synthesis        

Chair: John Cavazos (University of Delaware)

  1. Data Representation Synthesis

Peter Hawkins, Alex Aiken (Stanford University), Kathleen Fisher (AT&T Labs Research),

 Martin Rinard (MIT), and Mooly Sagiv (Tel Aviv University)

  1. Synthesizing Geometry Constructions

Sumit Gulwani (Microsoft Research, Redmond), Vijay Anand Korthikanti

(University of Illinois at Urbana-Champaign), and Ashish Tiwari (SRI International)

  1. Synthesis of Loop-Free Programs

Sumit Gulwani (Microsoft Research Redmond), Susmit Jha (University of California, Berkeley),

Ashish Tiwari (SRI International), and  Ramarathnam Venkatesan (Microsoft Research, Redmond)

9:50-10:20 a.m. Coffee Break

10:20-11:20 a.m.

Session 2a Program Optimization I

Chair: Michael Franz (University of California, Irvine)

  1. Generalized Just-In-Time Trace Compilation using a Parallel Task Farm in a Dynamic Binary Translator

Igor Böhm, Tobias J.K. Edler von Koch, Stephen Kyle, Björn Franke, and Nigel Topham (The University of Edinburgh)

  1. Brainy: Effective Selection of Data Structures

Changhee Jung (Georgia Tech), Silvius Rus (Google), Brian Railing (Georgia Tech), Nathan Clark (Virtu Financial), and Santosh Pande (Georgia Tech)

  1. An SSA-based Algorithm for Optimal Speculative Code Motion under an Execution Profile

Hucheng Zhou, Wenguang Chen (Tsinghua University), and Fred Chow (ICube Technology)

Session 2b Domain Specific Languages and their Compilers

Chair: Keshav Pingali (The University of Texas, Austin)

  1. Caisson: A Hardware Description Language for Secure Information Flow

Xun Li, Mohit Tiwari (University of California, Santa Barbara), Jason Oberg

(University of California, San Diego), Vineeth Kashyap, Frederic T Chong, Timothy Sherwood, and

Ben Hardekopf (University of California, Santa Barbara)

  1. Steno: Automatic Optimization of Declarative Queries

Derek G. Murray (University of Cambridge Computer Laboratory), Michael Isard, and

Yuan Yu (Microsoft Research, Silicon Valley)

  1. Languages as Libraries

Sam Tobin-Hochstadt, Vincent St-Amour (Northeastern University), Ryan Culpepper, Matthew Flatt (University of Utah), and Matthias Felleisen (Northeastern University)

11:30-12:30 p.m. FCRC plenary session

12:30-1:40 p.m.  PLDI Awards Luncheon

1:40-2:40 p.m.

Session 3a Program Optimization II

Chair:  Suresh Jagannathan (Purdue University)

  1. Automatic CPU-GPU Communication Management and Optimization

Thomas B. Jablin, Prakash Prabhu (Princeton University), James A. Jablin (Brown University),

Nick P. Johnson, Stephen R. Beard, and David I. August  (Princeton University)

  1. Automatic Compilation of MATLAB Programs for Synergistic Execution on Heterogeneous Processors Ashwin Prasad, Jayvant Anantpur, and R. Govindarajan (Super Computer Education and Research Centre, Indian Institute of Science)
  2. EnerJ: Approximate Data Types for Safe and General Low-Power Computation

Adrian Sampson, Werner Dietl, Emily Fortuna, Danushen Gnanapragasam, Luis Ceze, and Dan Grossman (University of Washington)

Session 3b Memory Models

Chair: Michael Hind (IBM Research)

  1. Understanding POWER Multiprocessors

Susmit Sarkar, Peter Sewell (University of Cambridge), Jade Alglave (Oxford University and INRIA), Luc Maranget (INRIA), and Derek Williams (IBM, Austin)

  1. Partial-Coherence Abstractions for Relaxed Memory Models

Michael Kuperstein (Technion), Martin Vechev (IBM TJ Watson Research Center), and Eran Yahav (Technion)

  1. A Case for an SC-Preserving Compiler

Daniel Marino (University of California, Los Angeles) Abhayendra Singh (University of Michigan, Ann Arbor) Todd Millstein (University of California, Los Angeles) Madanlal Musuvathi (Microsoft Research, Redmond) Satish Narayanasamy (University of Michigan, Ann Arbor)

2:40-3:30 pm. Poster session - student research competition

3:30-4:00 p.m. Coffee Break

4:00-5:30 p.m.

Fun Ideas and Thoughts

Chairs: Keshav Pingali (The University of Texas at Austin) and  

              Milind Kulkarni (Purdue University)

5:30-5:45 p.m. Program Chair Report

Tuesday June 7, 2011

8:00-8:50 a.m. Breakfast

8:50-9:50 a.m.

Session 4a Program Verification I

Chair: Grigore Rosu (University of Illinois at Urbana-Champaign)

  1. Probabilistic, Modular and Scalable Inference of Typestate Specifications 

Nels E. Beckman (Carnegie Mellon University) Aditya V. Nori (Microsoft Research India)

  1. Predicate Abstraction and CEGAR for Higher-Order Model Checking

Naoki Kobayashi, Ryosuke Sato, and Hiroshi Unno (Tohoku University)

  1. Mostly-Automated Verification of Low-Level Programs in Computational Separation Logic

Adam Chlipala (Harvard University)

Session 4b Debugging I

Chair:  Frank Tip (IBM Research)

  1. Toward Generating Reducible Replay Logs

Kyu Hyung Lee, Yunhui Zheng, Nick Sumner, and Xiangyu Zhang (Purdue University)

  1. Higher-Order Test Generation

Patrice Godefroid (Microsoft Research)

  1. LeakChaser: Helping Programmers Narrow Down Causes of Memory Leaks

Guoqing Xu, Michael D. Bond, Feng Qin, and Atanas Rountev (The Ohio State University)

9:50-10:20 a.m. Coffee Break

10:20-11:20 a.m.

Session 5a Compiler Correctness

Chair: James Larus (Microsoft Research)

  1. Finding and Understanding Bugs in C Compilers

Xuejun Yang, Yang Chen, Eric Eide, and John Regehr (University of Utah)

  1. Evaluating Value-Graph Translation Validation for LLVM

Jean-Baptiste Tristan, Paul Govereau, and Greg Morrisett (Harvard University)

  1. Safe Optimisations for Shared-Memory Concurrent Programs

Jaroslav Ševčík (University of Cambridge)

Session 5b Transforming and Editing by Example

Chair:  Amer Diwan (Google and University of Colorado)

  1. Spreadsheet Table Transformations from Examples

William R. Harris (University of Wisconsin, Madison) Sumit Gulwani (Microsoft Research, Redmond)

  1. Systematic Editing: Generating Program Transformations from an Example

Na Meng, Miryung Kim, and Kathryn S McKinley (The University of Texas at Austin)

11:30-12:30 p.m. FCRC plenary session

12:30-1:40 p.m.  Lunch

1:40-2:40 p.m.

Session 6a Security

Chair:  Ben Livshits (Microsoft Research)

  1. A Security Policy Oracle: Detecting Security Holes using Multiple API Implementations

Varun Srivastava (Yahoo!) Michael D. Bond (The Ohio State University) Kathryn S. McKinley, and Vitaly Shmatikov (The University of Texas at Austin)

  1. Language-Independent Sandboxing of Just-In-Time Compilation and Self-Modifying Code

Jason Ansel  (MIT), Petr Marchenko (University College London), Ulfar Erlingsson, Elijah Taylor, Brad Chen, Derek L. Schuff, David Sehr, Cliff L. Biffle, and Bennet Yee (Google)

  1. Cruiser: Concurrent Heap Buffer Overflow Monitoring Using Lock-free Data Structures

Qiang Zeng, Dinghao Wu, and Peng Liu (Pennsylvania State University)

Session 6b Concurrency Defects

Chair:  Armando Solar-Lezama (MIT)

  1. Isolating and Understanding Concurrency Errors Using Reconstructed Execution Fragments

Brandon Lucia, Benjamin P. Wood, Julian, and Luis Ceze (University of Washington)

  1. Automated Atomicity-Violation Fixing

Guoliang Jin, Linhai Song, Wei Zhang, Shan Lu, and Ben Liblit (University of Wisconsin–Madison)

  1. NDSeq: Runtime Checking for Nondeterministic Sequential Specifications of Parallel Correctness  

Jacob Burnim, Tayfun Elmas, George Necula, and Koushik Sen (University of California, Berkeley)

2:40-2:50 p.m Short Break

2:50-3:30 p.m.

Session 7a Singular Topics

Chair:  Vikram Adve (University of Illinois at Urbana-Champaign)

  1. Garbage Collection for Monitoring Parametric Properties

Dongyun Jin, Patrick O'Neil Meredith, Dennis Griffith, and Grigore Roşu (University of Illinois at Urbana-Champaign)

  1. LL(*): The Foundation of the ANTLR Parser Generator

Terence Parr (University of San Francisco) Kathleen Fisher (Tufts University)

Session 7b Debugging  II

Chair:  Michael Burke (Rice University)

  1. Cause Clue Clauses: Error Localization using Maximum Satisfiability

Manu Jose (University of California, Los Angeles) and Rupak Majumdar (MPI-SWS Kaiserslautern and University of California, Los Angeles)

  1. kb-Anonymity: A Model for Anonymized Behavior-Preserving Test and Debugging Data

Aditya Budi, David Lo, Lingxiao Jiang, and Lucia (Singapore Management University)

3:30-4:00 p.m Coffee Break

4:00-5:00 p.m.

Student Research Competition

Chair: Armando Solar-Lezama (MIT)

5:00-6:00 p.m. SIGPLAN business meeting

Wednesday June 8, 2011

8:00-8:50 a.m. Breakfast

8:50-9:50 a.m.

Session 8a Program Parallelization

Chair:  Thomas Gross (ETH Zurich)

  1. Kremlin: Rethinking and Rebooting gprof for the Multicore Age        

Saturnino Garcia, Donghwan Jeon, Chris Louie, and Michael Bedford Taylor (University of California, San Diego)

  1. Automatic Parallelization via Matrix Multiplication

Shigeyuki Sato and Hideya Iwasaki (The University of Electro-Communications)

  1. Alter: Exploiting Breakable Dependences for Parallelization

Abhishek Udupa (University of Pennsylvania) Kaushik Rajan, and William Thies (Microsoft Research, India)

Session 8b Program Paths

Chair:  Jan Vitek (Purdue University)

  1. Path-based Inductive Synthesis for Program Inversion

Saurabh Srivastava (University of California, Berkeley) Sumit Gulwani (Microsoft Research, Redmond) Swarat Chaudhuri (Pennsylvania State University) Jeffrey S. Foster (University of Maryland, College Park)

  1. Directed Incremental Symbolic Execution

Suzette Person (NASA Langley Reseach Center), Guowei Yang (The Universiity of Texas at Austin), Neha Rungta (NASA Ames Research Center), and Sarfraz Khurshid (The University of Texas at Austin)

  1. Mining Hot Calling Contexts in Small Space

Daniele Cono D'Elia, Camil Demetrescu, and Irene Finocchi (Sapienza University of Rome)

9:50-10:20 a.m. Coffee Break

10:20-11:20. Panel  

Teaching Programming Language Design and Implementation ...  What?  To Whom? How?

Moderator:  Laurie Hendren (McGill University)

11:30-12:30 p.m. FCRC plenary session

12:30-1:40 p.m.  Lunch

1:40-2:40 p.m.

Session 9a Program Verification II

Chair:  Ben Zorn (Microsoft Research)

  1. Verification of Semantic Commutativity Conditions and Inverse Operations on Linked Data Structures Deokhwan Kim, Martin C. Rinard (Massachusetts Institute of Technology)
  2. Exploiting the Commutativity Lattice

Milind Kulkarni (Purdue University) Donald Nguyen, Dimitrios Prountzos, Xin Sui, and Keshav Pingali (The University of Texas at Austin)

  1. Separation Logic + Superposition Calculus = Heap Theorem Prover 

Juan Antonio Navarro Pérez and Andrey Rybalchenko (Technische Universität München)

Session 9b Program Analysis

Chair:  Kathleen Fisher (Tufts University)

  1. Precise and Compact Modular Procedure Summaries for Heap Manipulating Programs 

Isil Dillig, Thomas Dillig, Alex Aiken (Stanford University), and Mooly Sagiv (Tel Aviv University)

  1. On Inter-Procedural Analysis of Programs with Lists and Data 

Ahmed Bouajjani, Cezara Drăgoi, Constantin Enea, and Mihaela Sighireanu

(LIAFA, University Paris Diderot & CNRS, France)

  1. Scaling Abstraction Refinement via Pruning

Percy Liang (University of California, Berkeley) and Mayur Naik (Intel Labs, Berkeley)

2:40-2:50 p.m. Short Break

2:50-3:30 p.m.

Session 10a Taming Wildcards

Chair:  Milind Kulkarni (Purdue University)

  1. Taming the Wildcards: Combining Definition- and Use-Site Variance

John Altidor (University of Massachusetts, Amherst), Shan Shan Huang (LogicBlox), and

Yannis Smaragdakis (University of Massachusetts and University of Athens)

  1. Taming Wildcards in Java’s Type System

Ross Tate, Alan Leung, and Sorin Lerner (University of California, San Diego)

Session 10b Concurrent Programming

Chair:  Jens Palsberg (University of California, Los Angeles)

  1. Composable Asynchronous Events

Lukasz Ziarek, KC Sivaramakrishnan, and Suresh Jagannathan (Purdue University)

  1. Synchronization via Scheduling: Techniques For Efficiently Managing Shared State

Micah J Best (University of British Columbia), Shane Mottishaw, Craig Mustard, Mark Roth, Alexandra Fedorova (Simon Fraser University), and Andrew Brownsword (Electronic Arts)

3:30-4:00 p.m. Coffee Break