Programming Languages and Systems 22nd European Symposium on Programming, ESOP 2013, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, Rome, Italy, March 16-24, 2013. Proceedings - Felleisen, Matthias; Gardner, Philippa; SpringerLink (Online service) (Berlin, Heidelberg : Springer Berlin Heidelberg : Imprint: Springer, 2013)
This book constitutes the refereed proceedings of the 22nd European Symposium on Programming, ESOP 2013, held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, which took place in Rome, Italy, in March 2013. The 31 papers, presented together with a full-length invited talk, were carefully reviewed and selected from 120 full submissions. The contributions have been organized according to ten topical sections on programming techniques; programming tools; separation logic; gradual typing; shared-memory concurrency and verification; process calculi; taming concurrency; model checking and verification; weak-memory concurrency and verification; and types, inference, and analysis.
Distributed Electronic Rights in JavaScript -- The Compiler Forest -- Pretty-Big-Step Semantics -- Language Constructs for Non-Well-Founded Computation -- Laziness by Need -- FliPpr: A Prettier Invertible Printing System -- Slicing-Based Trace Analysis of Rewriting Logic Specifications with iJULIENNE -- Why3 $1 (BWhere Programs Meet Provers -- Compositional Invariant Checking for Overlaid and Nested Linked Lists -- A Discipline for Program Verification Based on Backpointers and Its Use in Observational Disjointness -- Modular Reasoning about Separation of Concurrent Data Structures -- Ribbon Proofs for Separation Logic -- Abstract Refinement Types -- Constraining Delimited Control with Contracts -- Verifying Concurrent Memory Reclamation Algorithms with Grace -- Interleaving and Lock-Step Semantics for Analysis and Verification of GPU Kernels -- Verifying Concurrent Programs against Sequential Specifications -- On Distributability in Process Calculi -- Behavioral Polymorphism and Parametricity in Session-Based Communication -- Higher-Order Processes, Functions, and Sessions: A Monadic Integration -- Concurrent Flexible Reversibility -- Structural Lock Correlation with Ownership Types -- Taming Confusion for Modeling and Implementing Probabilistic Concurrent Systems -- Model-Checking Higher-Order Programs with Recursive Types -- Counterexample-Guided Precondition Inference -- Information Reuse for Multi-goal Reachability Analyses -- Quarantining Weakness: Compositional Reasoning under Relaxed Memory Models (Extended Abstract) -- Software Verification for Weak Memory via Program Transformation -- Checking and Enforcing Robustness against TSO -- GADTs Meet Subtyping -- A Data Driven Approach for Algebraic Loop Invariants -- Automatic Type Inference for Amortised Heap-Space Analysis.s
Keywords: Computer science; Software engineering; Logic design; Computer Science; Software Engineering; Programming Languages, Compilers, Interpreters; Programming Techniques; Logics and Meanings of Programs