POPL '16- Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Full Citation in the ACM Digital Library
SESSION: Keynotes
Programming the world of uncertain things (keynote)
Kathryn S. McKinley
Synthesis of reactive controllers for hybrid systems (keynote)
Richard M. Murray
Confluences in programming languages research (keynote)
David Walker
SESSION: Types and Foundations
Breaking through the normalization barrier: a self-interpreter for f-omega
Matt Brown
Jens Palsberg
Type theory in type theory using quotient inductive types
Thorsten Altenkirch
Ambrus Kaposi
System f-omega with equirecursive types for datatype-generic programming
Yufei Cai
Paolo G. Giarrusso
Klaus Ostermann
A theory of effects and resources: adjunction models and polarised calculi
Pierre-Louis Curien
Marcelo Fiore
Guillaume Munch-Maccagnoni
SESSION: Algorithmic Verification
Temporal verification of higher-order functional programs
Akihiro Murase
Tachio Terauchi
Naoki Kobayashi
Ryosuke Sato
Hiroshi Unno
Scaling network verification using symmetry and surgery
Gordon D. Plotkin
Nikolaj Bjørner
Nuno P. Lopes
Andrey Rybalchenko
George Varghese
Model checking for symbolic-heap separation logic with inductive predicates
James Brotherston
Nikos Gorogiannis
Max Kanovich
Reuben Rowe
Reducing crash recoverability to reachability
Eric Koskinen
Junfeng Yang
SESSION: Decision Procedures
Query-guided maximum satisfiability
Xin Zhang
Ravi Mangal
Aditya V. Nori
Mayur Naik
String solving with word equations and transducers: towards a logic for analysing mutation XSS
Anthony W. Lin
Pablo Barceló
Symbolic computation of differential equivalences
Luca Cardelli
Mirco Tribastone
Max Tschaikowski
Andrea Vandin
Unboundedness and downward closures of higher-order pushdown automata
Matthew Hague
Jonathan Kochems
C.-H. Luke Ong
SESSION: Correct Compilation
Fully-abstract compilation by approximate back-translation
Dominique Devriese
Marco Patrignani
Frank Piessens
Lightweight verification of separate compilation
Jeehoon Kang
Yoonseung Kim
Chung-Kil Hur
Derek Dreyer
Viktor Vafeiadis
From MinX to MinC: semantics-driven decompilation of recursive datatypes
Ed Robbins
Andy King
Tom Schrijvers
Sound type-dependent syntactic language extension
Florian Lorenzen
Sebastian Erdweg
SESSION: Decidability and Complexity
Decidability of inferring inductive invariants
Oded Padon
Neil Immerman
Sharon Shoham
Aleksandr Karbyshev
Mooly Sagiv
The hardness of data packing
Rahman Lavaee
The complexity of interaction
Stéphane Gimenez
Georg Moser
SESSION: Language Design
Dependent types and multi-monadic effects in F*
Nikhil Swamy
Cătălin Hriţcu
Chantal Keller
Aseem Rastogi
Antoine Delignat-Lavaud
Simon Forest
Karthikeyan Bhargavan
Cédric Fournet
Pierre-Yves Strub
Markulf Kohlweiss
Jean-Karim Zinzindohoue
Santiago Zanella-Béguelin
Fabular: regression formulas as probabilistic programming
Johannes Borgström
Andrew D. Gordon
Long Ouyang
Claudio Russo
Adam Ścibior
Marcin Szymczak
Kleenex: compiling nondeterministic transducers to deterministic streaming transducers
Bjørn Bugge Grathwohl
Fritz Henglein
Ulrik Terp Rasmussen
Kristoffer Aalund Søholm
Sebastian Paaske Tørholm
SESSION: Probabilistic and Statistical Analysis
Automatic patch generation by learning correct code
Fan Long
Martin Rinard
Estimating types in binaries using predictive modeling
Omer Katz
Ran El-Yaniv
Eran Yahav
Algorithmic analysis of qualitative and quantitative termination problems for affine probabilistic programs
Krishnendu Chatterjee
Hongfei Fu
Petr Novotný
Rouzbeh Hasheminezhad
Transforming spreadsheet data types using examples
Rishabh Singh
Sumit Gulwani
SESSION: Foundations of Distributed Systems
Chapar: certified causally consistent distributed key-value stores
Mohsen Lesani
Christian J. Bell
Adam Chlipala
'Cause I'm strong enough: Reasoning about consistency choices in distributed systems
Alexey Gotsman
Hongseok Yang
Carla Ferreira
Mahsa Najafzadeh
Marc Shapiro
A program logic for concurrent objects under fair scheduling
Hongjin Liang
Xinyu Feng
PSync: a partially synchronous language for fault-tolerant distributed algorithms
Cezara Drăgoi
Thomas A. Henzinger
Damien Zufferey
SESSION: Types, Generally or Gradually
Principal type inference for GADTs
Sheng Chen
Martin Erwig
Abstracting gradual typing
Ronald Garcia
Alison M. Clark
Éric Tanter
The gradualizer: a methodology and algorithm for generating gradual type systems
Matteo Cimini
Jeremy G. Siek
Is sound gradual typing dead?
Asumu Takikawa
Daniel Feltey
Ben Greenman
Max S. New
Jan Vitek
Matthias Felleisen
SESSION: Learning and Verification
Combining static analysis with probabilistic models to enable market-scale Android inter-component analysis
Damien Octeau
Somesh Jha
Matthew Dering
Patrick McDaniel
Alexandre Bartel
Li Li
Jacques Klein
Yves Le Traon
Abstraction refinement guided by a learnt probabilistic model
Radu Grigore
Hongseok Yang
Learning invariants using decision trees and implication counterexamples
Pranav Garg
Daniel Neider
P. Madhusudan
Dan Roth
Symbolic abstract data type inference
Michael Emmi
Constantin Enea
SESSION: Optimization
SMO: an integrated approach to intra-array and inter-array storage optimization
Somashekaracharya G. Bhaskaracharya
Uday Bondhugula
Albert Cohen
PolyCheck: dynamic verification of iteration space transformations on affine programs
Wenlei Bao
Sriram Krishnamoorthy
Louis-Noël Pouchet
Fabrice Rastello
P. Sadayappan
Printing floating-point numbers: a faster, always correct method
Marc Andrysco
Ranjit Jhala
Sorin Lerner
SESSION: Sessions and Processes
Effects as sessions, sessions as effects
Dominic Orchard
Nobuko Yoshida
Monitors and blame assignment for higher-order session types
Limin Jia
Hannah Gommerstadt
Frank Pfenning
Environmental bisimulations for probabilistic higher-order languages
Davide Sangiorgi
Valeria Vignudelli
SESSION: Semantics and Memory Models
Modelling the ARMv8 architecture, operationally: concurrency and ISA
Shaked Flur
Kathryn E. Gray
Christopher Pulte
Susmit Sarkar
Ali Sezgin
Luc Maranget
Will Deacon
Peter Sewell
A concurrency semantics for relaxed atomics that permits optimisation and avoids thin-air executions
Jean Pichon-Pharabod
Peter Sewell
Overhauling SC atomics in C11 and OpenCL
Mark Batty
Alastair F. Donaldson
John Wickerson
Taming release-acquire consistency
Ori Lahav
Nick Giannarakis
Viktor Vafeiadis
SESSION: Program Design and Analysis
Newtonian program analysis via tensor product
Thomas Reps
Emma Turetsky
Prathmesh Prabhu
Casper: an efficient approach to call trace collection
Rongxin Wu
Xiao Xiao
Shing-Chi Cheung
Hongyu Zhang
Charles Zhang
Pushdown control-flow analysis for free
Thomas Gilray
Steven Lyde
Michael D. Adams
Matthew Might
David Van Horn
Binding as sets of scopes
Matthew Flatt
SESSION: Foundations of Model Checking
Lattice-theoretic progress measures and coalgebraic model checking
Ichiro Hasuo
Shunsuke Shimizu
Corina Cîrstea
Algorithms for algebraic path properties in concurrent systems of constant treewidth components
Krishnendu Chatterjee
Amir Kafshdar Goharshady
Rasmus Ibsen-Jensen
Andreas Pavlogiannis
Memoryful geometry of Interaction II: recursion and adequacy
Koko Muroya
Naohiko Hoshino
Ichiro Hasuo
SESSION: Synthesis
Learning programs from noisy data
Veselin Raychev
Pavol Bielik
Martin Vechev
Andreas Krause
Optimizing synthesis with metasketches
James Bornholt
Emina Torlak
Dan Grossman
Luis Ceze
Maximal specification synthesis
Aws Albarghouthi
Isil Dillig
Arie Gurfinkel
Example-directed synthesis: a type-theoretic interpretation
Jonathan Frankle
Peter-Michael Osera
David Walker
Steve Zdancewic