Keynote 1.- Code Roots.- Programming Environments and Tools.- Detecting Missing Method Calls in Object-Oriented Software.- Debugging Model-Transformation Failures Using Dynamic Tainting.- Automatically Extracting Class Diagrams from Spreadsheets.- Theoretical Foundations of Programming Languages.- Adding Dynamic Types to C .- Essential AOP: The A Calculus.- The Essence of JavaScript.- Formal Methods.- Verifying Executable Object-Oriented Specifications with Separation Logic.- Verifying Generics and Delegates.- Recency Types for Analyzing Scripting Languages.- Concurrency Models in Java.- Correct Refactoring of Concurrent Java Code.- Programming Coordinated Behavior in Java.- JCoBox: Generalizing Active Objects to Concurrent Components.- Special Session: Empirical Methods.- Doubts about the Positive Impact of Static Type Systems on Programming Tasks in Single Developer Projects - An Empirical Study.- Type Systems.- A Type System for Data-Centric Synchronization.- Type-Safe Eventful Sessions in Java.- Capabilities for Uniqueness and Borrowing.- Keynote 2.- Secret Valley.- Language Design and Implementation.- Embedding Languages without Breaking Tools.- Modules as Objects in Newspeak.- Inline Caching Meets Quickening.- Concurrency Abstractions.- Self-Replicating Objects for Multicore Platforms.- Reasoning about the Implementation of Concurrency Abstractions on x86-TSO.- Concurrent Abstract Predicates.- Experiences.- The Use of Overloading in Java Programs.- Falling Back on Executable Specifications.- Contract-Based Data Structure Repair Using Alloy.