OOPSLA 2015- Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications

Full Citation in the ACM Digital Library

SESSION: Model Checking

Detecting redundant CSS rules in HTML5 applications: a tree rewriting approach

SATCheck: SAT-directed stateless model checking for SC and TSO

Programming with enumerable sets of structures

Stateless model checking of event-driven applications

SESSION: Domain Specific Languages

Synthesis of layout engines from relational constraints

A sound and optimal incremental build system with dynamic dependencies

FlashMeta: a framework for inductive program synthesis

Scrap your boilerplate with object algebras

SESSION: Verification

Conditionally correct superoptimization

Selective control-flow abstraction via jumping

Automating grammar comparison

Reasoning about the POSIX file system: local update and global pathnames

SESSION: Concurrency

AutoMO: automatic inference of memory order parameters for C/C++11

Valor: efficient, software-only region conflict exceptions

Automatic memory reclamation for lock-free data structures

Protocol-based verification of message-passing parallel programs

SESSION: Mobility

Interactively verifying absence of explicit information flows in Android apps

ShamDroid: gracefully degrading functionality in the presence of limited resource access

Scalable race detection for Android applications

Versatile yet lightweight record-and-replay for Android

SESSION: Compilation and Tools

Declarative fence insertion

Finding deep compiler bugs via guided stochastic program mutation

Vectorization of apply to reduce interpretation overhead of R

Synthesizing Java expressions from free-form queries

SESSION: Runtime

Accurate profiling in the presence of dynamic compilation

Fast, multicore-scalable, low-fragmentation memory allocation through large virtual memory and global data structures

Probability type inference for flexible approximate programming

Cross-layer memory management for managed language applications

SESSION: Static Analysis

Static analysis of event-driven Node.js JavaScript applications

EXPLORER : query- and demand-driven exploration of interprocedural control flow properties

Giga-scale exhaustive points-to analysis for Java in under a minute

Galois transformers and modular abstract interpreters: reusable metatheory for program analysis

Learning a strategy for adapting a program analysis via bayesian optimisation

SESSION: Compilation and Dynamic Analysis

Runtime pointer disambiguation

Performance problems you can fix: a dynamic analysis of memoization opportunities

RAIVE: runtime assessment of floating-point instability by vectorization

Automated backward error analysis for numerical code

SESSION: Empirical Studies and Approximation

Using C language extensions for developing embedded software: a case study

How scale affects structure in Java programs

Use at your own risk: the Java unsafe API in the wild

Approximate computation with outlier detection in Topaz

SESSION: Programming Language Design

Remote-scope promotion: clarified, rectified, and verified

Incremental computation with names

Checks and balances: constraint solving without surprises in object-constraint programming languages

Optimizing hash-array mapped tries for fast and lean immutable JVM collections

SESSION: Performance

Automating ad hoc data representation transformations

Tracing vs. partial evaluation: comparing meta-compilation approaches for self-optimizing interpreters

Effectively mapping linguistic abstractions for message-passing concurrency to threads on the Java virtual machine

Partial evaluation of machine code

SESSION: Type Systems

A co-contextual formulation of type rules and its application to incremental type checking

Disjointness domains for fine-grained aliasing

The chemical approach to typestate-oriented programming

Customizable gradual polymorphic effects for Scala