|
|||||||||||||||||||||
Table of Contents
|
|||||||||||||||||||||
Return to Top |
Keynote
1
When Compilers Are Mirrors
(Page 1)
|
||||||||||||||||||||
Return to Top |
Session 1:
Extensibility
Extensibility for the Masses: Practical Extensibility with Object Algebras
(Page 2)
Extensions during Software Evolution: Do Objects
Meet Their Promise?
(Page 28)
PQL: A Purely-Declarative Java Extension for Parallel Programming
(Page 53)
|
||||||||||||||||||||
Return to Top |
Session 2:
Language Evaluation
Is It Dangerous to Use Version Control Histories
to Study Source Code Evolution? (Page 79)
Evaluating the Design of the R Language: Objects and
Functions for Data Analysis (Page 104)
McSAF: A Static Analysis Framework for MATLAB (Page 132)
|
||||||||||||||||||||
Return to Top |
Session 3:
Ownership and Initialisation
Multiple Aggregate Entry Points for Ownership
Types (Page 156)
Inference and Checking of Object
Ownership (Page 181)
Object Initialization in
X10 (Page 207) |
||||||||||||||||||||
Return to Top |
Keynote 2:
Dahl-Nygaard Junior Award Winner
Structured Aliasing
(Page 232) |
||||||||||||||||||||
Return to Top |
Session 4: Language Features
Pause ’n’ Play: Formalizing Asynchronous
C# (Page 233)
Lightweight Polymorphic
Effects
(Page 258)
Cloud Types for Eventual Consistency
(Page 283) |
||||||||||||||||||||
Return to Top |
Session 5: Special-Purpose Analyses
Lock Inference in the Presence of Large Libraries
(Page 308) An Analysis of the Mozilla
Jetpack Extension Framework
(Page 333) Smaller
Footprint for Java Collections (Page 356) |
||||||||||||||||||||
Return to Top |
Session 6: JavaScript
Enhancing JavaScript with Transactions
(Page 383)
JavaScript as an Embedded DSL (Page 40) Correlation
Tracking for Points-To Analysis of JavaScript (Page 435) |
||||||||||||||||||||
Return to Top |
Session 7: Hardcore Theory Soundness of
Object-Oriented Languages with Coinductive Big-Step
Semantics
(Page 459)
Static Sessional Dataflow
(Page 484)
Java Wildcards Meet Definition-Site Variance
(Page 509) |
||||||||||||||||||||
Return to Top |
Session 8:
Modularity
Constraint-Based Refactoring with Foresight
(Page 535)
Magda: A New Language for Modularity
(Page 560)
Marco: Safe, Expressive Macros for Any Language
(Page 589) |
||||||||||||||||||||
Return to Top |
Session 9: Updates and
Interference
Practical Permissions for Race-Free Parallelism
(Page 614)
Verification of Snapshot Isolation in Transactional
Memory Java Programs
(Page 640)
Scalable Flow-Sensitive Pointer Analysis for Java with
Strong Updates
(Page 665) |
||||||||||||||||||||
Return to Top |
Session 10: General-Purpose
Analyses
Application-Only Call Graph Construction (Page 688)
Program Sliding (Page 713)
Static Detection of Loop-Invariant Data Structures (Page 738) |
||||||||||||||||||||