Mon 20 - Fri 24 October 2014 Portland, Oregon, United States

The scope of OOPSLA includes all aspects of programming languages and software engineering, broadly construed.

Papers that address any aspect of software development are welcome, including requirements, modeling, prototyping, design, implementation, generation, analysis, verification, testing, evaluation, maintenance, reuse, replacement, and retirement of software systems. Papers may address these topics in a variety of ways, including new tools (such as languages, program analyses, and runtime systems), new techniques (such as methodologies, design processes, code organization approaches, and management techniques), and new evaluations (such as formalisms and proofs, corpora analyses, user studies, and surveys).

Wed 22 Oct

Thu 23 Oct

Fri 24 Oct

Call for Papers


Selection Criteria

The program committee will consider the following criteria when evaluating submitted papers:

Novelty: The paper presents new ideas and/or results and places these ideas and results appropriately within the context established by previous research in the field.

Importance: The paper contributes significantly to the advancement of knowledge in the field. In addition to more traditional contributions, OOPSLA welcomes papers that diverge from the dominant trajectory of the field or challenge the existing value system.

Evidence: The paper presents sufficient evidence supporting its claims. Examples of evidence include proofs, implemented systems, experimental results, statistical analyses, case studies, and anecdotes.

Clarity: The paper presents its contributions, methodology and results clearly.

Selection Process

OOPSLA 2014 will follow a two-phase review process that was initiated in OOPSLA 2013, with the goal of improving the quality of accepted papers. The first reviewing phase assesses the papers using the criteria stated above. At the PC meeting a set of papers will be conditionally accepted and all other papers will be rejected.

Authors of conditionally accepted papers will be provided with the usual committee reviews along with a set of mandatory revisions. After two months, the authors will provide a second submission. The second and final reviewing phase assesses how well the mandatory revisions have been performed by the authors and thereby determines the final accept/reject status of the paper. The intent and expectation is that the mandatory revisions can be adequately addressed within two months and hence that conditionally accepted papers will be accepted in the second phase.

The second submission should clearly identify how the mandatory revisions were addressed. To that end, the second submission must be accompanied by a cover letter mapping each mandatory revision request to specific parts of the paper. The absence of this cover letter is grounds for the paper’s rejection.


OOPSLA 2014 submissions must conform to both the ACM Policy on Prior Publication and Simultaneous Submissions and the SIGPLAN Re-publication Policy. Submissions are single-blind (i.e., authors are not anonymous).


Submissions should use the SIGPLAN Proceedings Format, 10 point font. Note that by default the SIGPLAN Proceedings Format produces papers in 9 point font. If you are formatting your paper using LaTeX, you will need to set the 10pt option in the \documentclass command. If you are formatting your paper using Word, you may wish to use the provided Word template that supports this font size. Please include page numbers in your submission. Setting the preprint option in the LaTeX \documentclass command generates page numbers. Please also ensure that your submission is legible when printed on a black and white printer. In particular, please check that colors remain distinct and font sizes are legible.

Page Limit

To ensure that papers stay focused on their core contributions, the main part of the paper (including bibliographic references) should be no longer than 14 pages. There is no page limit for appendices, and, therefore, for the overall submission. However, reviewers are not obligated to read the appendices, so the main part of the paper should be self contained. If the paper is accepted, the final submission will be limited to 20 pages, including appendices.

Artifact Evaluation

Authors of papers that are conditionally accepted in the first phase will be invited to formally submit supporting materials to the Artifact Evaluation process. This submission is voluntary and will not influence the final decision regarding the papers. Papers that go through the Artifact Evaluation process successfully will receive a seal of approval printed on the papers themselves.

Authors of accepted papers are encouraged to make these materials publicly available upon publication of the proceedings, by including them as “source materials” in the ACM Digital Library.


AUTHORS TAKE NOTE: All accepted papers will be available in the ACM Digital Library as early as October 3, 2014. The official publication date is the date the proceedings are made available in the ACM Digital Library. The official publication date affects the deadline for any patent filings related to published work.

More Information

For additional information, clarification, or answers to questions please contact the OOPSLA Chair (Todd Millstein) at oopsla@splashcon.org.

Accepted Papers

Link to publication Media Attached File Attached
Link to publication
Link to publication
Link to publication File Attached
Link to publication Media Attached File Attached
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication Media Attached
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication File Attached
Link to publication
Link to publication File Attached
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication Media Attached
Link to publication File Attached
Link to publication File Attached
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication
Link to publication File Attached
Link to publication
Link to publication
Link to publication
Link to publication Media Attached
Link to publication
Link to publication
Link to publication
Link to publication

Full Citation in the ACM Digital Library

Session: Program Analysis and the Web

Chair: Stephen Chong

Checking correctness of TypeScript interfaces for JavaScript libraries
  • Asger Feldthaus, Anders Møller
Determinacy in static analysis for jQuery
  • Esben Andreasen, Anders Møller
EventBreak: analyzing the responsiveness of user interfaces through performance-guided test generation
  • Michael Pradel, Parker Schuh, George Necula, Koushik Sen
Using web corpus statistics for program analysis
  • Chun-Hung Hsiao, Michael Cafarella, Satish Narayanasamy

Session: Runtime systems

Chair: Martin Hirzel

Tardis: affordable time-travel debugging in managed runtimes
  • Earl T. Barr, Mark Marron
Phosphor: illuminating dynamic data flow in commodity jvms
  • Jonathan Bell, Gail Kaiser
Rubah: DSU for Java on a stock JVM
  • Luís Pina, Luís Veiga, Michael Hicks
Fast conservative garbage collection
  • Rifat Shahriyar, Stephen M. Blackburn, Kathryn S. McKinley

Session: Domain Specific Languages

Chair: Yannis Smaragdakis

Region-based memory management for GPU programming languages: enabling rich data structures on a spartan host
  • Eric Holk, Ryan Newton, Jeremy Siek, Andrew Lumsdaine
Smten with satisfiability-based search
  • Richard Uhler, Nirav Dave
StreamJIT: a commensal compiler for high-performance stream programming
  • Jeffrey Bosboom, Sumanaruban Rajadurai, Weng-Fai Wong, Saman Amarasinghe
SurveyMan: programming and automatically debugging surveys
  • Emma Tosch, Emery D. Berger

Session: Type Systems

Chair: Ravi Chugh

Rate types for stream programs
  • Thomas W. Bartenstein, Yu David Liu
Foundations of path-dependent types
  • Nada Amin, Tiark Rompf, Martin Odersky
Confined gradual typing
  • Esteban Allende, Johan Fabry, Ronald Garcia, Éric Tanter
Refactoring Java generics by inferring wildcards, in practice
  • John Altidor, Yannis Smaragdakis

Session: Energy and Performance

Chair: Shan Lu

Continuously measuring critical section pressure with the free-lunch profiler
  • Florian David, Gael Thomas, Julia Lawall, Gilles Muller
Chisel: reliability- and accuracy-aware optimization of approximate computational kernels
  • Sasa Misailovic, Michael Carbin, Sara Achour, Zichao Qi, Martin C. Rinard
An experimental survey of energy management across the stack
  • Melanie Kambadur, Martha A. Kim
Understanding energy behaviors of thread management constructs
  • Gustavo Pinto, Fernando Castor, Yu David Liu

Session: Languages

Chair: Cristina V. Lopes

Distributed REScala: an update algorithm for distributed reactive programming
  • Joscha Drechsler, Guido Salvaneschi, Ragnar Mogk, Mira Mezini
From object algebras to attribute grammars
  • Tillmann Rendel, Jonathan Immanuel Brachthäuser, Klaus Ostermann
Late data layout: unifying data representation transformations
  • Vlad Ureche, Eugene Burmako, Martin Odersky
i3QL: language-integrated live data views
  • Ralf Mitschke, Sebastian Erdweg, Mirko Köhler, Mira Mezin, >Guido Salvaneschi

Session: Concurrency

Chair: David Grove

Atlas: leveraging locks for non-volatile memory consistency
  • Dhruva R. Chakrabarti, Hans-J. Boehm, Kumud Bhandari
Fast splittable pseudorandom number generators
  • Guy L. Steele, Jr., Doug Lea, Christine H. Flood
Multithreaded test synthesis for deadlock detection
  • Malavika Samak, Murali Krishna Ramanathan
Symbolic execution of multithreaded programs from arbitrary program contexts
  • Tom Bergan, Dan Grossman, Luis Ceze

Session: Debugging

Chair: Caitlin Sadowski

CheckCell: data debugging for spreadsheets
  • Daniel W. Barowy, Dimitar Gochev, Emery D. Berger
Finding minimum type error sources
  • Zvonimir Pavlinovic, Tim King, Thomas Wies
Flint: fixing linearizability violations
  • Peng Liu, Omer Tripp, Xiangyu Zhang
Statistical debugging for real-world performance problems
  • Linhai Song, Shan Lu

Session: Compilation tools

Chair: Robert Grimm

Adaptive LL(*) parsing: the power of dynamic analysis
  • Terence Parr, Sam Harwell, Kathleen Fisher
Automated migration of build scripts using dynamic analysis and search-based refactoring
  • Milos Gligoric, Wolfram Schulte, Chandra Prasad, Danny van Velzen, Iman Narasamdya, Benjamin Livshits
MIX10: compiling MATLAB to X10 for high performance
  • Vineet Kumar, Laurie Hendren
Staged parser combinators for efficient data processing
  • Manohar Jonnalagedda, Thierry Coppey, Sandro Stucki, Tiark Rompf, Martin Odersky

Session: Specification and verification

Chair: Gary T. Leavens

Bounded exhaustive test input generation from hybrid invariants
  • Nicolás Rosner, Valeria Bengolea, Pablo Ponzio, Shadi Abdul Khalek, Nazareno Aguirre, Marcelo F. Frias, Sarfraz Khurshid
Compiler verification meets cross-language linking via data abstraction
  • Peng Wang, Santiago Cuellar, Adam Chlipala
GPS: navigating weak memory with ghosts, protocols, and separation
  • Aaron Turon, Viktor Vafeiadis, Derek Dreyer
Natural proofs for asynchronous programs using almost-synchronous reductions
  • Ankush Desai, Pranav Garg, P. Madhusudan

Session: Dynamic optimization

Chair: Zach Tatlock

Accelerating iterators in optimizing AST interpreters
  • Wei Zhang, Per Larsen, Stefan Brunthaler, Michael Franz
Call sequence prediction through probabilistic calling automata
  • Zhijia Zhao, Bo Wu, Mingzhou Zhou, Yufei Ding, Jianhua Sun, Xipeng Shen, Youfeng Wu
Space-efficient multi-versioning for input-adaptive feedback-driven program optimizations
  • Mingzhou Zhou, Xipeng Shen, Yaoqing Gao, Graham Yiu
The hiphop virtual machine
  • Keith Adams, Jason Evans, Bertrand Maher, Guilherme Ottoni, Andrew Paroski, Brett Simmers, Edwin Smith, Owen Yamauchi

Session: Static analysis

Chair: Anders Moeller

Validation of memory accesses through symbolic analyses
  • Henrique Nazaré, Izabela Maffra, Willer Santos, Leonardo Barbosa, Laure Gonnord, Fernando Magno Quintão Pereira
Abstract semantic differencing via speculative correlation
  • Nimrod Partush, Eran Yahav
Efficient subcubic alias analysis for C
  • Qirun Zhang, Xiao Xiao, Charles Zhang, Hao Yuan, Zhendong Su
Static analysis for independent app developers
  • Lucas Brutschy, Pietro Ferrara, Peter Müller

Session: Distributed computing

Chair: Madanlal Musuvathi

ASPIRE: exploiting asynchronous parallelism in iterative algorithms using a relaxed consistency based DSM
  • Keval Vora, Sai Charan Koduru, Rajiv Gupta
Alembic: automatic locality extraction via migration
  • Brandon Holt, Preston Briggs, Luis Ceze, Mark Oskin
Cybertron: pushing the limit on I/O reduction in data-parallel programs
  • Tian Xiao, Zhenyu Hucheng Zhou, Jiaxing Zhang, Xu Zhao, Chencheng Ye, Xi Wang, Wei Lin, Wenguang Chen, Lidong Zhou
Translating imperative code to MapReduce
  • Cosmin Radoi, Stephen J. Fink, Rodric Rabbah, Manu Sridharan