ECOOP 2012
26th European Conference on
Object-Oriented Programming

June 11–16, 2012, Beijing, China

 

Home Page

Table of Contents

 Sponsors & Supporters

Table of Contents

Preface
James Noble (Victoria University of Wellington)

Conference Organization

Author Index

Keynote 1

Session 5: Special-Purpose Analyses

Session 1: Extensibility

Session 6: JavaScript

Session 2: Language Evaluation

Session 7: Hardcore Theory

Session 3: Ownership and Initialisation

Session 8: Modularity

Keynote 2: Dahl-Nygaard Junior Award Winner

Session 9: Updates and Interference

Session 4: Language Features

Session 10: General-Purpose Analyses


Return to Top

Keynote 1
Session Chair: James Noble (Victoria University of Wellington)

When Compilers Are Mirrors (Page 1)
Martin Odersky (École Polytechnique Fédérale de Lausanne)


Return to Top

Session 1: Extensibility
Session Chair: Tony Hosking (Purdue University)

Extensibility for the Masses: Practical Extensibility with Object Algebras  (Page 2)
Bruno C.d.S. Oliveira (National University of Singapore)
William R. Cook (University of Texas, Austin)

Extensions during Software Evolution: Do Objects Meet Their Promise?  (Page 28)
Romain Robbes (University of Chile)
David Röthlisberger (University of Chile)
Éric Tanter (University of Chile)

PQL: A Purely-Declarative Java Extension for Parallel Programming  (Page 53)
Christoph Reichenbach (University of Massachusetts, Amherst)
Yannis Smaragdakis (University of Massachusetts, Amherst; University of Athens)
Neil Immerman (University of Massachusetts, Amherst)


Return to Top

Session 2: Language Evaluation
Session Chair: Gavin Bierman (Microsoft Research)

Is It Dangerous to Use Version Control Histories to Study Source Code Evolution? (Page 79)
Stas Negara (University of Illinois at Urbana-Champaign)
Mohsen Vakilian (University of Illinois at Urbana-Champaign)
Nicholas Chen (University of Illinois at Urbana-Champaign)
Ralphe E. Johnson (University of Illinois at Urbana-Champaign)
Danny Dig (University of Illinois at Urbana-Champaign)

Evaluating the Design of the R Language: Objects and Functions for Data Analysis (Page 104)
Floréal Morandat (Purdue University)
Brandon Hill (Purdue University)
Leo Osvald (Purdue University)
Jan Vitek (Purdue University)

McSAF: A Static Analysis Framework for MATLAB (Page 132)
Jesse Doherty (McGill University, Montréal)
Laurie Hendren(McGill University, Montréal)


Return to Top

Session 3: Ownership and Initialisation
Session Chair: Richard Jones (University of Kent)

Multiple Aggregate Entry Points for Ownership Types (Page 156)
Johan Östlund (Uppsala University)
Tobias Wrigstad (Uppsala University)

Inference and Checking of Object Ownership (Page 181)
Wei Huang (Rensselaer Polytechnic Institute)
Werner Dietl (University of Washington)
Ana Milanova (Rensselaer Polytechnic Institute)
Michael Ernst (University of Washington)

Object Initialization in X10 (Page 207)
Yoav Zibin (Google, work done at IBM)
David Cunningham (IBM Research)
Igor Peshansky (Google, work done at IBM)
Vijay Saraswat (IBM Research)


Return to Top

Keynote 2: Dahl-Nygaard Junior Award Winner
Session Chair: Eric Jul, AITO President (University of Oslo)

Structured Aliasing  (Page 232)
Tobias Wrigstad (Uppsala University)


Return to Top

Session 4: Language Features
Session Chair: Jens Palsberg (University of California, Los Angeles)

Pause ’n’ Play: Formalizing Asynchronous C# (Page 233)
Gavin Bierman(Microsoft Research)
Claudio Russo (Microsoft Research)
Geoffrey Mainland (Microsoft Research)
Erik Meijer (Microsoft Research; TU Delft)
Mads Torgersen (Microsoft Research)

Lightweight Polymorphic Effects  (Page 258)
Lukas Rytz (École Polytechnique Fédérale de Lausanne)
Martin Odersky (École Polytechnique Fédérale de Lausanne)
Philipp Haller (École Polytechnique Fédérale de Lausanne)

Cloud Types for Eventual Consistency  (Page 283)
Sebastian Burckhardt (Microsoft Research)
Manuel Fähndrich (Microsoft Research)
Daan Leijen (Microsoft Research)
Benjamin P. Wood (University of Washington)


Return to Top

Session 5: Special-Purpose Analyses
Session Chair: Jianjun Zhao (Shanghai Jiao Tong University)

Lock Inference in the Presence of Large Libraries  (Page 308)
Khilan Gudka (Imperial College)
Tim Harris (Microsoft Research)
Susan Eisenbach (Imperial College)

An Analysis of the Mozilla Jetpack Extension Framework  (Page 333)
Rezwana Karim (Rutgers Universuty)
Mohan Dhawan (Rutgers University)
Vinod Ganapathy (Rutgers University)
Chung-chieh Shan (University of Tsukuba)

Smaller Footprint for Java Collections (Page 356)
Joseph Gil (The Technion)
Yuval Shimron (The Technion)


Return to Top

Session 6: JavaScript
Session Chair: Robert O'Callahan (Mozilla)

Enhancing JavaScript with Transactions  (Page 383)
Mohan Dhawan (Rutgers University)
Chung-chieh Shan (University of Tsukuba) Vinod Ganapathy (Rutgers University)

JavaScript as an Embedded DSL (Page 40)
Grzegorz Kossakowski (École Polytechnique Fédérale de Lausanne)
Nada Amin (École Polytechnique Fédérale de Lausanne)
Tiark Rompf (École Polytechnique Fédérale de Lausanne)
Martin Odersky (École Polytechnique Fédérale de Lausanne)

Correlation Tracking for Points-To Analysis of JavaScript (Page 435)
Manu Sridharan (IBM Research)
Julian Dolby (IBM Research)
Satish Chandra (IBM Research)
Max Schäfer (IBM Research)
Frank Tip (IBM Research)


Return to Top

Session 7: Hardcore Theory
Session Chair: Atsushi Igarashi (Kyoto University)

Soundness of Object-Oriented Languages with Coinductive Big-Step Semantics  (Page 459)
Davide Ancona (Università di Genova)

Static Sessional Dataflow  (Page 484)
Dominic Duggan (Stevens Institute of Technology)
Jianhua Yao (Stevens Institute of Technology)

Java Wildcards Meet Definition-Site Variance  (Page 509)
John Altidor (University of Massachusetts, Amherst))
Christoph Reichenbach (University of Massachusetts, Amherst))
Yannis Smaragdakis (University of Massachusetts, Amherst; University of Athens))


Return to Top

Session 8: Modularity
Session Chair: Shigeru Chiba (Tokyo Institute of Technology)

Constraint-Based Refactoring with Foresight  (Page 535)
Friedrich Steimann (Fernuniversität in Hagen)
Jens von Pilgrim (Fernuniversität in Hagen)

Magda: A New Language for Modularity  (Page 560)
Viviana Bono (University of Torino)
Jarek Kuśmierek (Google Research; University of Warsaw)
Mauro Mulatero (University of Torino)

Marco: Safe, Expressive Macros for Any Language  (Page 589)
Byeongcheol Lee (Gwangju Institute of Science and Technology)
Robert Grimm (New York University)
Martin Hirzel (IBM Research)
Kathryn S. McKinley (Microsoft Research; University of Texas, Austin)


Return to Top

Session 9: Updates and Interference
Session Chair: Tobias Wrigstad (Uppsala University)

Practical Permissions for Race-Free Parallelism  (Page 614)
Edwin Westbrook (Rice University)
Jisheng Zhao (Rice University)
Zoran Budimlić (Rice University)
Vivek Sarkar (Rice University)

Verification of Snapshot Isolation in Transactional Memory Java Programs  (Page 640)
Ricardo J. Dias (Universidade Nova de Lisboa)
Dino Distefano (Queen Mary University of London)
João Costa Seco (Universidade Nova de Lisboa)
João M. Lourenço (Universidade Nova de Lisboa)

Scalable Flow-Sensitive Pointer Analysis for Java with Strong Updates  (Page 665)
Arnab De (Indian Institute of Science, Bangalore)
Deepak D’Souza (Indian Institute of Science, Bangalore)


Return to Top

Session 10: General-Purpose Analyses
Session Chair: Lu Zhang (Peking University)

Application-Only Call Graph Construction (Page 688)
Karim Ali (University of Waterloo)
Ondřej Lhoták (University of Waterloo)

Program Sliding (Page 713)
Ran Ettinger (IBM Research)

Static Detection of Loop-Invariant Data Structures (Page 738)
Guoqing Xu (University of California, Irvine)
Dacong Yan (Ohio State University)
Atanas Rountev (Ohio State University)