| 2012 | A black-box approach to understanding concurrency in DaCapo. Tomas Kalibera, Matthew Mole, Richard E. Jones, Jan Vitek |
| 2012 | A variability-aware module system. Christian Kästner, Klaus Ostermann, Sebastian Erdweg |
| 2012 | Adaptive multi-level compilation in a trace-based Java JIT compiler. Hiroshi Inoue, Hiroshige Hayashizaki, Peng Wu, Toshio Nakatani |
| 2012 | An abstract interpretation framework for refactoring with application to extract methods with contracts. Patrick Cousot, Radhia Cousot, Francesco Logozzo, Michael Barnett |
| 2012 | An empirical study of the influence of static type systems on the usability of undocumented software. Clemens Mayer, Stefan Hanenberg, Romain Robbes, Éric Tanter, Andreas Stefik |
| 2012 | AutoMan: a platform for integrating human-based and digital computation. Daniel W. Barowy, Charlie Curtsinger, Emery D. Berger, Andrew McGregor |
| 2012 | Automatically enhancing locality for tree traversals with traversal splicing. Youngjoon Jo, Milind Kulkarni |
| 2012 | Automating object transformations for dynamic software updating. Stephen Magill, Michael Hicks, Suriya Subramanian, Kathryn S. McKinley |
| 2012 | Bolt: on-demand infinite loop escape in unmodified binaries. Michael Kling, Sasa Misailovic, Michael Carbin, Martin C. Rinard |
| 2012 | Chaperones and impersonators: run-time support for reasonable interposition. T. Stephen Strickland, Sam Tobin-Hochstadt, Robert Bruce Findler, Matthew Flatt |
| 2012 | Checking reachability using matching logic. Grigore Rosu, Andrei Stefanescu |
| 2012 | Constrained kinds. Olivier Tardieu, Nathaniel Nystrom, Igor Peshansky, Vijay A. Saraswat |
| 2012 | Dependent types for JavaScript. Ravi Chugh, David Herman, Ranjit Jhala |
| 2012 | Detecting problematic message sequences and frequencies in distributed systems. Charles Lucas, Sebastian G. Elbaum, David S. Rosenblum |
| 2012 | Efficiently combining parallel software using fine-grained, language-level, hierarchical resource management policies. Zachary R. Anderson |
| 2012 | Elixir: a system for synthesizing concurrent graph programs. Dimitrios Prountzos, Roman Manevich, Keshav Pingali |
| 2012 | Energy types. Michael Cohen, Haitao Steve Zhu, Senem Ezgi Emgin, Yu David Liu |
| 2012 | Eval begone!: semi-automated removal of eval from javascript programs. Fadi Meawad, Gregor Richards, Floréal Morandat, Jan Vitek |
| 2012 | Execution privatization for scheduler-oblivious concurrent programs. Jeff Huang, Charles Zhang |
| 2012 | Exploiting inter-sequence correlations for program behavior prediction. Bo Wu, Zhijia Zhao, Xipeng Shen, Yunlian Jiang, Yaoqing Gao, Raúl Silvera |
| 2012 | Exploring multi-threaded Java application performance on multicore hardware. Jennifer B. Sartor, Lieven Eeckhout |
| 2012 | Finding reusable data structures. Guoqing Xu |
| 2012 | Formal specification of a JavaScript module system. Seonghoon Kang, Sukyoung Ryu |
| 2012 | From clarity to efficiency for distributed algorithms. Yanhong A. Liu, Scott D. Stoller, Bo Lin, Michael Gorbovitski |
| 2012 | GPUVerify: a verifier for GPU kernels. Adam Betts, Nathan Chong, Alastair F. Donaldson, Shaz Qadeer, Paul Thomson |
| 2012 | Gradual typing for first-class classes. Asumu Takikawa, T. Stephen Strickland, Christos Dimoulas, Sam Tobin-Hochstadt, Matthias Felleisen |
| 2012 | Higher-order symbolic execution via contracts. Sam Tobin-Hochstadt, David Van Horn |
| 2012 | IFRit: interference-free regions for dynamic data-race detection. Laura Effinger-Dean, Brandon Lucia, Luis Ceze, Dan Grossman, Hans-Juergen Boehm |
| 2012 | Integrating task parallelism with actors. Shams Mahmood Imam, Vivek Sarkar |
| 2012 | Kitsune: efficient, general-purpose dynamic software updating for C. Christopher M. Hayden, Edward K. Smith, Michail Denchev, Michael Hicks, Jeffrey S. Foster |
| 2012 | LEAN: simplifying concurrency bug reproduction via replay-supported execution reduction. Jeff Huang, Charles Zhang |
| 2012 | Maple: a coverage-driven testing tool for multithreaded programs. Jie Yu, Satish Narayanasamy, Cristiano Pereira, Gilles Pokam |
| 2012 | Mitigating the compiler optimization phase-ordering problem using machine learning. Sameer Kulkarni, John Cavazos |
| 2012 | Modular and verified automatic program repair. Francesco Logozzo, Thomas Ball |
| 2012 | Molecule: using monadic and streaming I/O to compose process networks on the JVM. Sébastien Bocq, Koen Daenen |
| 2012 | On the benefits and pitfalls of extending a statically typed language JIT compiler for dynamic scripting languages. José G. Castaños, David Edelsohn, Kazuaki Ishizaki, Priya Nagpurkar, Toshio Nakatani, Takeshi Ogasawara, Peng Wu |
| 2012 | Open and efficient type switch for C++. Yuriy Solodkyy, Gabriel Dos Reis, Bjarne Stroustrup |
| 2012 | Optimization coaching: optimizers learn to communicate with programmers. Vincent St-Amour, Sam Tobin-Hochstadt, Matthias Felleisen |
| 2012 | Predicate abstraction of Java programs with collections. Pavel Parízek, Ondrej Lhoták |
| 2012 | Proceedings of the 27th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2012, part of SPLASH 2012, Tucson, AZ, USA, October 21-25, 2012 Gary T. Leavens, Matthew B. Dwyer |
| 2012 | Program extrapolation with jennisys. K. Rustan M. Leino, Aleksandar Milicevic |
| 2012 | Reducing the barriers to writing verified specifications. Todd W. Schiller, Michael D. Ernst |
| 2012 | Refactoring android Java code for on-demand computation offloading. Ying Zhang, Gang Huang, Xuanzhe Liu, Wei Zhang, Hong Mei, Shunxiang Yang |
| 2012 | Reim & ReImInfer: checking and inference of reference immutability and method purity. Wei Huang, Ana L. Milanova, Werner Dietl, Michael D. Ernst |
| 2012 | Reusing debugging knowledge via trace-based bug search. Zhongxian Gu, Earl T. Barr, Drew Schleck, Zhendong Su |
| 2012 | Safe compiler-driven transaction checkpointing and recovery. Jaswanth Sreeram, Santosh Pande |
| 2012 | Scaling symbolic execution using ranged analysis. Junaid Haroon Siddiqui, Sarfraz Khurshid |
| 2012 | Software data-triggered threads. Hung-Wei Tseng, Dean M. Tullsen |
| 2012 | Speculative analysis of integrated development environment recommendations. Kivanç Muslu, Yuriy Brun, Reid Holmes, Michael D. Ernst, David Notkin |
| 2012 | Talk versus work: characteristics of developer collaboration on the jazz platform. Subhajit Datta, Renuka Sindhgatta, Bikram Sengupta |
| 2012 | Taming MATLAB. Anton Willy Dubrau, Laurie J. Hendren |
| 2012 | The HipHop compiler for PHP. Haiping Zhao, Iain Proctor, Minghui Yang, Xin Qi, Mark Williams, Qi Gao, Guilherme Ottoni, Andrew Paroski, Scott MacVicar, Jason Evans, Stephen Tu |
| 2012 | Towards a practical secure concurrent language. Stefan K. Muller, Stephen Chong |
| 2012 | Type-based safe resource deallocation for shared-memory concurrency. Kohei Suenaga, Ryota Fukuda, Atsushi Igarashi |
| 2012 | Typestate-based semantic code search over partial programs. Alon Mishne, Sharon Shoham, Eran Yahav |
| 2012 | Understanding the behavior of database operations under program control. Juan M. Tamayo, Alex Aiken, Nathan Grasso Bronson, Mooly Sagiv |
| 2012 | Uniqueness and reference immutability for safe parallelism. Colin S. Gordon, Matthew J. Parkinson, Jared Parsons, Aleks Bromfield, Joe Duffy |
| 2012 | White box sampling in uncertain data processing enabled by program analysis. Tao Bao, Yunhui Zheng, Xiangyu Zhang |
| 2012 | Work-stealing without the baggage. Vivek Kumar, Daniel Frampton, Stephen M. Blackburn, David Grove, Olivier Tardieu |
| 2012 | k-Calling context profiling. Giorgio Ausiello, Camil Demetrescu, Irene Finocchi, Donatella Firmani |