Rocco De Nicola (Ed.): Programming Languages and Systems, 16th European Symposium on Programming, ESOP 2007, Held as Part of the Joint European Conferences on Theory and Practics of Software, ETAPS 2007, Braga, Portugal, March 24 - April 1, 2007, Proceedings. Springer 2007 Lecture Notes in Computer Science ISBN 978-3-540-71314-2
Invited Talk
Andrew M. Pitts: Techniques for Contextual Equivalence in Higher-Order, Typed Languages. 1
Models and Languages for Web Services
Marco Carbone, Kohei Honda, Nobuko Yoshida: Structured Communication-Centred Programming for Web Services. 2-17
Maria Grazia Buscemi, Ugo Montanari: CC-Pi: A Constraint-Based Language for Specifying Service Level Agreements. 18-32
Alessandro Lapadula, Rosario Pugliese, Francesco Tiezzi: A Calculus for Orchestration of Web Services. 33-47
Lucia Acciai, Michele Boreale, Silvano Dal-Zilio: A Concurrent Calculus with Atomic Transactions. 48-63
Verification
Kim Guldstrand Larsen, Ulrik Nyman, Andrzej Wasowski: Modal I/O Automata for Interface and Product Line Theories. 64-79
Term Rewriting
Frédéric Blanqui, Thérèse Hardin, Pierre Weis: On the Implementation of Construction Functions for Non-free Concrete Data Types. 95-109
Language Based Security
Gilles Barthe, David Pichardie, Tamara Rezk: A Certified Lightweight Non-interference Java Bytecode Verifier. 125-140
Heiko Mantel, Alexander Reinhard: Controlling the What and Where of Declassification in Language-Based Security. 141-156
Elvira Albert, Puri Arenas, Samir Genaim, Germán Puebla, Damiano Zanardini: Cost Analysis of Java Bytecode. 157-172
Logics and Correctness Proofs
Xinyu Feng, Rodrigo Ferreira, Zhong Shao: On the Relationship Between Concurrent Separation Logic and Assume-Guarantee Reasoning. 173-188
Aleksandar Nanevski, Amal Ahmed, Greg Morrisett, Lars Birkedal: Abstract Predicates and Mutable ADTs in Hoare Type Theory. 189-204
Guodong Li, Scott Owens, Konrad Slind: Structure of a Proof-Producing Compiler for a Subset of Higher Order Logic. 205-219
Static Analysis and Abstract Interpretation I
Noam Rinetzky, Arnd Poetzsch-Heffter, Ganesan Ramalingam, Mooly Sagiv, Eran Yahav: Modular Shape Analysis for Dynamically Encapsulated Programs. 220-236
Stephane Gaubert, Eric Goubault, Ankur Taly, Sarah Zennou: Static Analysis by Policy Iteration on Relational Domains. 237-252
Frédéric Besson, Thomas P. Jensen, Tiphaine Turpin: Small Witnesses for Abstract Interpretation-Based Proofs. 268-283
Static Analysis and Abstract Interpretation II
Helmut Seidl, Andrea Flexeder, Michael Petter: Interprocedurally Analysing Linear Inequality Relations. 284-299
Semantic Theories for Object Oriented Languages

Pietro Cenciarelli, Alexander Knapp, Eleonora Sibilio: The Java Memory Model: Operationally, Denotationally, Axiomatically. 331-346
Christian Haack, Erik Poll, Jan Schäfer, Aleksy Schubert: Immutable Objects for a Java-Like Language. 347-362
Process Algebraic Techniques
Yuxin Deng, Rob J. van Glabbeek, Carroll Morgan, Chenyi Zhang: Scalar Outcomes Suffice for Finitary Probabilistic Testing. 363-378
Adrian Francalanza, Matthew Hennessy: A Fault Tolerance Bisimulation Proof for Consensus (Extended Abstract). 395-410
Cristian Versari: A Core Calculus for a Comparative Analysis of Bio-inspired Calculi. 411-425
Applicative Programming
George Kuan, David MacQueen, Robert Bruce Findler: A Rewriting Semantics for Type Inference. 426-440
Umut A. Acar, Matthias Blume, Jacob Donham: A Consistent Semantics of Self-adjusting Computation. 458-474
Types for Systems Properties
Kohei Suenaga, Naoki Kobayashi: Type-Based Analysis of Deadlock for a Concurrent Calculus with Interrupts. 490-504
Jeremy Condit, Matthew Harren, Zachary R. Anderson, David Gay, George C. Necula: Dependent Types for Low-Level Programming. 520-535



