Powered by
Conference Publishing Consulting

2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2016), November 2–4, 2016, Amsterdam, Netherlands

OOPSLA 2016 – Proceedings

Contents - Abstracts - Authors

Frontmatter

Title Page
Message from the Chairs
Message from the OOPSLA Artifact Evaluation Chairs
OOPSLA 2016 Organization
SPLASH 2016 Sponsors and Supporters

Optimization and Performance

A Compiler for Throughput Optimization of Graph Algorithms on GPUs
Sreepathi Pai and Keshav Pingali
(University of Texas at Austin, USA)
Automatic Parallelization of Pure Method Calls via Conditional Future Synthesis
Rishi Surendran and Vivek Sarkar
(Rice University, USA)
Portable Inter-workgroup Barrier Synchronisation for GPUs
Tyler Sorensen, Alastair F. Donaldson, Mark Batty, Ganesh Gopalakrishnan, and Zvonimir Rakamarić
(Imperial College London, UK; University of Kent, UK; University of Utah, USA)
Parallel Incremental Whole-Program Optimizations for Scala.js
Sébastien Doeraene and Tobias Schlatter
(EPFL, Switzerland)

Semantics and Verification

Semantics-Based Program Verifiers for All Languages
Andrei Stefănescu, Daejun Park, Shijiao Yuwen, Yilong Li, and Grigore Roşu
(University of Illinois at Urbana-Champaign, USA; Runtime Verification, USA)
Info
Hoare-Style Specifications as Correctness Conditions for Non-linearizable Concurrent Objects
Ilya Sergey, Aleksandar Nanevski, Anindya Banerjee, and Germán Andrés Delbianco
(University College London, UK; IMDEA Software Institute, Spain)
Info
An Operational Semantics for C/C++11 Concurrency
Kyndylan Nienhuis, Kayvan Memarian, and Peter Sewell
(University of Cambridge, UK)
Modeling and Analysis of Remote Memory Access Programming
Andrei Marian Dan, Patrick Lam, Torsten Hoefler, and Martin Vechev
(ETH Zurich, Switzerland; University of Waterloo, Canada)

Program Synthesis

Deriving Divide-and-Conquer Dynamic Programming Algorithms using Solver-Aided Transformations
Shachar Itzhaky, Rohit Singh, Armando Solar-Lezama, Kuat Yessenov, Yongquan Lu, Charles Leiserson, and Rezaul Chowdhury
(Massachusetts Institute of Technology, USA; Stony Brook University, USA)
Speeding Up Machine-Code Synthesis
Venkatesh Srinivasan, Tushar Sharma, and Thomas Reps
(University of Wisconsin-Madison, USA; GrammaTech, USA)
Automated Reasoning for Web Page Layout
Pavel Panchekha and Emina Torlak
(University of Washington, USA)
Info
FIDEX: Filtering Spreadsheet Data using Examples
Xinyu Wang, Sumit Gulwani, and Rishabh Singh
(University of Texas at Austin, USA; Microsoft Research, USA)

Language Design and Programming Models I

Extensible Access Control with Authorization Contracts
Scott Moore, Christos Dimoulas, Robert Bruce Findler, Matthew Flatt, and Stephen Chong
(Harvard University, USA; Northwestern University, USA; University of Utah, USA)
Gentrification Gone too Far? Affordable 2nd-Class Values for Fun and (Co-)Effect
Leo Osvald, Grégory Essertel, Xilun Wu, Lilliam I. González Alayón, and Tiark Rompf
(Purdue University, USA)
Incremental Forest: A DSL for Efficiently Managing Filestores
Jonathan DiLorenzo, Richard Zhang, Erin Menzies, Kathleen Fisher, and Nate Foster
(Cornell University, USA; University of Pennsylvania, USA; Tufts University, USA)
LaCasa: Lightweight Affinity and Object Capabilities in Scala
Philipp Haller and Alex Loiko
(KTH, Sweden; Google, Sweden)
Info

Programming Frameworks, Tools, and Methodologies

Purposes, Concepts, Misfits, and a Redesign of Git
Santiago Perez De Rosso and Daniel Jackson
(Massachusetts Institute of Technology, USA)
Info
Apex: Automatic Programming Assignment Error Explanation
Dohyeong Kim, Yonghwi Kwon, Peng Liu, I. Luk Kim, David Mitchel Perry, Xiangyu Zhang, and Gustavo Rodriguez-Rivera
(Purdue University, USA)
Asserting Reliable Convergence for Configuration Management Scripts
Oliver Hanappi, Waldemar Hummer, and Schahram Dustdar
(Vienna University of Technology, Austria)
Info
Dependent Partitioning
Sean Treichler, Michael Bauer, Rahul Sharma, Elliott Slaughter, and Alex Aiken
(Stanford University, USA; NVIDIA Research, USA)

Static Analysis

Accelerating Program Analyses by Cross-Program Training
Sulekha Kulkarni, Ravi Mangal, Xin Zhang, and Mayur Naik
(Georgia Tech, USA)
An Improved Algorithm for Slicing Machine Code
Venkatesh Srinivasan and Thomas Reps
(University of Wisconsin-Madison, USA; GrammaTech, USA)
Call Graphs for Languages with Parametric Polymorphism
Dmitry Petrashko, Vlad Ureche, Ondřej Lhoták, and Martin Odersky
(EPFL, Switzerland; University of Waterloo, Canada)
Type Inference for Static Compilation of JavaScript
Satish Chandra, Colin S. Gordon, Jean-Baptiste Jeannin, Cole Schlesinger, Manu Sridharan, Frank Tip, and Youngil Choi
(Samsung Research, USA; Drexel University, USA; Northeastern University, USA; Samsung Electronics, South Korea)

Concurrency Analysis and Model Checking

Directed Synthesis of Failing Concurrent Executions
Malavika Samak, Omer Tripp, and Murali Krishna Ramanathan
(IISc Bangalore, India; Google, USA)
Maximal Causality Reduction for TSO and PSO
Shiyou Huang and Jeff Huang
(Texas A&M University, USA)
Precise and Maximal Race Detection from Incomplete Traces
Jeff Huang and Arun K. Rajagopalan
(Texas A&M University, USA)
Stateless Model Checking with Data-Race Preemption Points
Ben Blum and Garth Gibson
(Carnegie Mellon University, USA)

Language Design and Programming Models II

Automatic Enforcement of Expressive Security Policies using Enclaves
Anitha Gollamudi and Stephen Chong
(Harvard University, USA)
Chain: Tasks and Channels for Reliable Intermittent Programs
Alexei Colin and Brandon Lucia
(Carnegie Mellon University, USA)
Info
GEMs: Shared-Memory Parallel Programming for Node.js
Daniele Bonetta, Luca Salucci, Stefan Marr, and Walter Binder
(Oracle Labs, Austria; University of Lugano, Switzerland; JKU Linz, Austria)
OrcO: A Concurrency-First Approach to Objects
Arthur Michener Peters, David Kitchin, John A. Thywissen, and William R. Cook
(University of Texas at Austin, USA; Google, USA)

Principles, Across the Compilation Stack

Semantic Subtyping for Imperative Object-Oriented Languages
Davide Ancona and Andrea Corradi
(University of Genoa, Italy)
Parsing with First-Class Derivatives
Jonathan Immanuel Brachthäuser, Tillmann Rendel, and Klaus Ostermann
(University of Tübingen, Germany)
The Missing Link: Explaining ELF Static Linking, Semantically
Stephen Kell, Dominic P. Mulligan, and Peter Sewell
(University of Cambridge, UK)
Type Soundness for Dependent Object Types (DOT)
Tiark Rompf and Nada Amin
(Purdue University, USA; EPFL, Switzerland)

Runtime Support

Efficient and Thread-Safe Objects for Dynamically-Typed Languages
Benoit Daloze, Stefan Marr, Daniele Bonetta, and Hanspeter Mössenböck
(JKU Linz, Austria; Oracle Labs, Austria)
Hybrid STM/HTM for Nested Transactions on OpenJDK
Keith Chapman, Antony L. Hosking, and J. Eliot B. Moss
(Purdue University, USA; Australian National University, Australia; Data61, Australia; University of Massachusetts at Amherst, USA)
Makalu: Fast Recoverable Allocation of Non-volatile Memory
Kumud Bhandari, Dhruva R. Chakrabarti, and Hans-J. Boehm
(Rice University, USA; Hewlett Packard Labs, USA; Google, USA)
Prioritized Garbage Collection: Explicit GC Support for Software Caches
Diogenes Nunez, Samuel Z. Guyer, and Emery D. Berger
(Tufts University, USA; University of Massachusetts at Amherst, USA)

Program Modeling and Learning

Computing Repair Alternatives for Malformed Programs using Constraint Attribute Grammars
Friedrich Steimann, Jörg Hagemann, and Bastian Ulke
(Fernuniversität in Hagen, Germany)
Probabilistic Model for Code with Decision Trees
Veselin Raychev, Pavol Bielik, and Martin Vechev
(ETH Zurich, Switzerland)
Ringer: Web Automation by Demonstration
Shaon Barman, Sarah Chasins, Rastislav Bodik, and Sumit Gulwani
(University of California at Berkeley, USA; University of Washington, USA; Microsoft Research, USA)
Info
Scalable Verification of Border Gateway Protocol Configurations with an SMT Solver
Konstantin Weitz, Doug Woos, Emina Torlak, Michael D. Ernst, Arvind Krishnamurthy, and Zachary Tatlock
(University of Washington, USA)
Info

Typing, in Practice

A Practical Framework for Type Inference Error Explanation
Calvin Loncaric, Satish Chandra, Cole Schlesinger, and Manu Sridharan
(University of Washington, USA; Samsung Research, USA)
Dynamically Diagnosing Type Errors in Unsafe Code
Stephen Kell
(University of Cambridge, UK)
First-Class Effect Reflection for Effect-Guided Programming
Yuheng Long, Yu David Liu, and Hridesh Rajan
(Iowa State University, USA; SUNY Binghamton, USA)
Java and Scala's Type Systems are Unsound: The Existential Crisis of Null Pointers
Nada Amin and Ross Tate
(EPFL, Switzerland; Cornell University, USA)
Info

Bug Detection Analysis and Model Checking

Finding Compiler Bugs via Live Code Mutation
Chengnian Sun, Vu Le, and Zhendong Su
(University of California at Davis, USA)
Finding Resume and Restart Errors in Android Applications
Zhiyong Shan, Tanzirul Azim, and Iulian Neamtiu
(University of Central Missouri, USA; University of California at Riverside, USA; New Jersey Institute of Technology, USA)
Info
Low-Overhead and Fully Automated Statistical Debugging with Abstraction Refinement
Zhiqiang Zuo, Lu Fang, Siau-Cheng Khoo, Guoqing Xu, and Shan Lu
(University of California at Irvine, USA; National University of Singapore, Singapore; University of Chicago, USA)
Info
To Be Precise: Regression Aware Debugging
Rohan Bavishi, Awanish Pandey, and Subhajit Roy
(IIT Kanpur, India)

proc time: 0.73