Powered by
Conference Publishing Consulting

2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2015), October 25–30, 2015, Pittsburgh, PA, USA

OOPSLA 2015 – Proceedings

Contents - Abstracts - Authors

Frontmatter

Title Page
Message from the Chairs
OOPSLA 2015 Organization

Model Checking

Detecting Redundant CSS Rules in HTML5 Applications: A Tree Rewriting Approach
Matthew Hague, Anthony W. Lin, and C.-H. Luke Ong
(University of London, UK; Yale-NUS College, Singapore; University of Oxford, UK)
Info
SATCheck: SAT-Directed Stateless Model Checking for SC and TSO
Brian Demsky and Patrick Lam
(University of California at Irvine, USA; University of Waterloo, Canada)
Info
Programming with Enumerable Sets of Structures
Ivan Kuraj, Viktor Kuncak, and Daniel Jackson
(Massachusetts Institute of Technology, USA; EPFL, Switzerland)
Stateless Model Checking of Event-Driven Applications
Casper S. Jensen, Anders Møller, Veselin Raychev, Dimitar Dimitrov, and Martin Vechev
(Aarhus University, Denmark; ETH Zurich, Switzerland)
Info

Domain Specific Languages

Synthesis of Layout Engines from Relational Constraints
Thibaud Hottelier and Rastislav Bodik
(University of California at Berkeley, USA; University of Washington, USA)
A Sound and Optimal Incremental Build System with Dynamic Dependencies
Sebastian Erdweg, Moritz Lichter, and Manuel Weiel
(TU Darmstadt, Germany)
FlashMeta: A Framework for Inductive Program Synthesis
Oleksandr Polozov and Sumit Gulwani
(University of Washington, USA; Microsoft Research, USA)
Scrap Your Boilerplate with Object Algebras
Haoyuan Zhang, Zewei Chu, Bruno C. d. S. Oliveira, and Tijs van der Storm
(University of Hong Kong, China; CWI, Netherlands)

Verification

Conditionally Correct Superoptimization
Rahul Sharma, Eric Schkufza, Berkeley Churchill, and Alex Aiken
(Stanford University, USA)
Selective Control-Flow Abstraction via Jumping
Sam Blackshear, Bor-Yuh Evan Chang, and Manu Sridharan
(University of Colorado at Boulder, USA; Samsung Research, USA)
Info
Automating Grammar Comparison
Ravichandhran Madhavan, Mikaël Mayer, Sumit Gulwani, and Viktor Kuncak
(EPFL, Switzerland; Microsoft Research, USA)
Info
Reasoning about the POSIX File System: Local Update and Global Pathnames
Gian Ntzik and Philippa Gardner
(Imperial College London, UK)

Concurrency

AutoMO: Automatic Inference of Memory Order Parameters for C/C++11
Peizhao Ou and Brian Demsky
(University of California at Irvine, USA)
Valor: Efficient, Software-Only Region Conflict Exceptions
Swarnendu Biswas, Minjia Zhang, Michael D. Bond, and Brandon Lucia
(Ohio State University, USA; Carnegie Mellon University, USA)
Automatic Memory Reclamation for Lock-Free Data Structures
Nachshon Cohen and Erez Petrank
(Technion, Israel)
Protocol-Based Verification of Message-Passing Parallel Programs
Hugo A. López, Eduardo R. B. Marques, Francisco Martins, Nicholas Ng, César Santos, Vasco Thudichum Vasconcelos, and Nobuko Yoshida
(DTU, Denmark; University of Lisbon, Portugal; Imperial College London, UK)
Info

Mobility

Interactively Verifying Absence of Explicit Information Flows in Android Apps
Osbert Bastani, Saswat Anand, and Alex Aiken
(Stanford University, USA)
ShamDroid: Gracefully Degrading Functionality in the Presence of Limited Resource Access
Lucas Brutschy, Pietro Ferrara, Omer Tripp, and Marco Pistoia
(ETH Zurich, Switzerland; IBM Research, USA)
Scalable Race Detection for Android Applications
Pavol Bielik, Veselin Raychev, and Martin Vechev
(ETH Zurich, Switzerland)
Versatile yet Lightweight Record-and-Replay for Android
Yongjian Hu, Tanzirul Azim, and Iulian Neamtiu
(University of California at Riverside, USA)
Video Info

Compilation and Tools

Declarative Fence Insertion
John Bender, Mohsen Lesani, and Jens Palsberg
(University of California at Los Angeles, USA; Massachusetts Institute of Technology, USA)
Info
Finding Deep Compiler Bugs via Guided Stochastic Program Mutation
Vu Le, Chengnian Sun, and Zhendong Su
(University of California at Davis, USA)
Vectorization of Apply to Reduce Interpretation Overhead of R
Haichuan Wang, David Padua, and Peng Wu
(University of Illinois at Urbana-Champaign, USA; Huawei Lab, USA)
Synthesizing Java Expressions from Free-Form Queries
Tihomir Gvero and Viktor Kuncak
(EPFL, Switzerland)

Runtime

Accurate Profiling in the Presence of Dynamic Compilation
Yudi Zheng, Lubomír Bulej, and Walter Binder
(University of Lugano, Switzerland; Charles University, Czech Republic)
Fast, Multicore-Scalable, Low-Fragmentation Memory Allocation through Large Virtual Memory and Global Data Structures
Martin Aigner, Christoph M. Kirsch, Michael Lippautz, and Ana Sokolova
(University of Salzburg, Austria)
Info
Probability Type Inference for Flexible Approximate Programming
Brett Boston, Adrian Sampson, Dan Grossman, and Luis Ceze
(University of Washington, USA)
Info
Cross-Layer Memory Management for Managed Language Applications
Michael R. Jantz, Forrest J. Robinson, Prasad A. Kulkarni, and Kshitij A. Doshi
(University of Tennessee, USA; University of Kansas, USA; Intel, USA)

Static Analysis

Static Analysis of Event-Driven Node.js JavaScript Applications
Magnus Madsen, Frank Tip, and Ondřej Lhoták
(University of Waterloo, Canada; Samsung Research, USA)
EXPLORER : Query- and Demand-Driven Exploration of Interprocedural Control Flow Properties
Yu Feng, Xinyu Wang, Isil Dillig, and Calvin Lin
(University of Texas at Austin, USA)
Giga-Scale Exhaustive Points-To Analysis for Java in Under a Minute
Jens Dietrich, Nicholas Hollingum, and Bernhard Scholz
(Massey University, New Zealand; University of Sydney, Australia; Oracle Labs, Australia)
Info
Galois Transformers and Modular Abstract Interpreters: Reusable Metatheory for Program Analysis
David Darais, Matthew Might, and David Van Horn
(University of Maryland at College Park, USA; University of Utah, USA)
Learning a Strategy for Adapting a Program Analysis via Bayesian Optimisation
Hakjoo Oh, Hongseok Yang, and Kwangkeun Yi
(Korea University, South Korea; University of Oxford, UK; Seoul National University, South Korea)

Compilation and Dynamic Analysis

Runtime Pointer Disambiguation
Péricles Alves, Fabian Gruber, Johannes Doerfert, Alexandros Lamprineas, Tobias Grosser, Fabrice Rastello, and Fernando Magno Quintão Pereira
(Federal University of Minas Gerais, Brazil; INRIA, France; Saarland University, Germany; ETH Zurich, Switzerland)
Performance Problems You Can Fix: A Dynamic Analysis of Memoization Opportunities
Luca Della Toffola, Michael Pradel, and Thomas R. Gross
(ETH Zurich, Switzerland; TU Darmstadt, Germany)
RAIVE: Runtime Assessment of Floating-Point Instability by Vectorization
Wen-Chuan Lee, Tao Bao, Yunhui Zheng, Xiangyu Zhang, Keval Vora, and Rajiv Gupta
(Purdue University, USA; University of California at Riverside, USA)
Automated Backward Error Analysis for Numerical Code
Zhoulai Fu, Zhaojun Bai, and Zhendong Su
(University of California at Davis, USA)

Empirical Studies and Approximation

Using C Language Extensions for Developing Embedded Software: A Case Study
Markus Voelter, Arie van Deursen, Bernd Kolb, and Stephan Eberle
(itemis, Germany; Delft University of Technology, Netherlands)
How Scale Affects Structure in Java Programs
Cristina V. Lopes and Joel Ossher
(University of California at Irvine, USA)
Info
Use at Your Own Risk: The Java Unsafe API in the Wild
Luis Mastrangelo, Luca Ponzanelli, Andrea Mocci, Michele Lanza, Matthias Hauswirth, and Nathaniel Nystrom
(University of Lugano, Switzerland)
Approximate Computation with Outlier Detection in Topaz
Sara Achour and Martin C. Rinard
(Massachusetts Institute of Technology, USA)

Programming Language Design

Remote-Scope Promotion: Clarified, Rectified, and Verified
John Wickerson, Mark Batty, Bradford M. Beckmann, and Alastair F. Donaldson
(Imperial College London, UK; University of Kent, UK; AMD, USA)
Info
Incremental Computation with Names
Matthew A. Hammer, Joshua Dunfield, Kyle Headley, Nicholas Labich, Jeffrey S. Foster, Michael Hicks, and David Van Horn
(University of Colorado at Boulder, USA; University of Maryland at College Park, USA; University of British Columbia, Canada)
Checks and Balances: Constraint Solving without Surprises in Object-Constraint Programming Languages
Tim Felgentreff, Todd Millstein, Alan Borning, and Robert Hirschfeld
(HPI, Germany; University of California at Los Angeles, USA; University of Washington, USA)
Optimizing Hash-Array Mapped Tries for Fast and Lean Immutable JVM Collections
Michael J. Steindorfer and Jurgen J. Vinju
(CWI, Netherlands)
Info

Performance

Automating Ad hoc Data Representation Transformations
Vlad Ureche, Aggelos Biboudis, Yannis Smaragdakis, and Martin Odersky
(EPFL, Switzerland; University of Athens, Greece)
Info
Tracing vs. Partial Evaluation: Comparing Meta-Compilation Approaches for Self-Optimizing Interpreters
Stefan Marr and Stéphane Ducasse
(INRIA, France)
Info
Effectively Mapping Linguistic Abstractions for Message-Passing Concurrency to Threads on the Java Virtual Machine
Ganesha Upadhyaya and Hridesh Rajan
(Iowa State University, USA)
Partial Evaluation of Machine Code
Venkatesh Srinivasan and Thomas Reps
(University of Wisconsin-Madison, USA; GrammaTech, USA)

Type Systems

A Co-contextual Formulation of Type Rules and Its Application to Incremental Type Checking
Sebastian Erdweg, Oliver Bračevac, Edlira Kuci, Matthias Krebs, and Mira Mezini
(TU Darmstadt, Germany; Lancaster University, UK)
Disjointness Domains for Fine-Grained Aliasing
Stephan Brandauer, Dave Clarke, and Tobias Wrigstad
(Uppsala University, Sweden)
Info
The Chemical Approach to Typestate-Oriented Programming
Silvia Crafa and Luca Padovani
(Università di Padova, Italy; Università di Torino, Italy)
Customizable Gradual Polymorphic Effects for Scala
Matías Toro and Éric Tanter
(University of Chile, Chile)
Info

proc time: 0.72