MPC 2015 - Programme

Monday 29th June

09:30 - 10:30 (Chair: Ralf Hinze)

Invited Talk: A nondeterministic lattice of information
In 1993 Landauer and Redmond defined a 'lattice of information' where a partition over the type of secret's possible values could express the security resilience of a sequential, deterministic program: values within the same cell of the partition are those that the programs does not allow an attacker to distinguish.

That simple, compelling model provided not only a refinement order for deterministic security (inverse refinement of set-partitions) but, since it is a lattice, allowed the construction of the 'least-secure deterministic program more secure than these other deterministic programs', and its obvious dual. But Landauer treated neither demonic nor probabilistic choice.

Later work of our own, and independently of others, suggested a probabilistic generalisation of Landauer's lattice, although it turned out that the generalisation is only a partial order, not a lattice.

This talk looks between the two structures above: I will combine earlier qualitatitve ideas with very recent quantitative results in order to explore

  • What an appropriate purely demonic lattice of information might be, the 'meat in the sandwich' that lies between Landauer's deterministic, qualitative lattics and our probabilistic partial order.
  • The importance of compositionality in determining its structure.
  • That it is indeed a lattice, that it generalises Landauer's lattice and that it is generalised by the probabilistic partial order.
  • Its operational significance and, of course,
  • Suggestions on how it might help with constructing (secure) programs.

10:30 - 11:00

Coffee break

11:00 - 12:30 (Chair: Lindsay Groves)

Exploring an Interface Model for CKA
Bernhard Möller and Tony Hoare
On Rely-Guarantee Reasoning
Stephan Van Staden

12:30 - 14:00

Lunch

14:00 - 15:30 (Chair: Carroll Morgan)

A Relation-Algebraic Approach to Multirelations and Predicate Transformers
Rudolf Berghammer and Walter Guttmann
Preference Decomposition and the Expressiveness of Preference Query Languages
Patrick Roocks

15:30 - 16:00

Coffee break

16:00 - 17:30 (Chair: Jeremy Gibbons)

Hierarchy in Generic Programming Libraries
José Pedro Magalhães and Andres Löh
Polynomial Functors Constrained by Regular Expressions
Dan Piponi and Brent Yorgey

Tuesday 30th June

09:00 - 10:30 (Chair: Nicolas Wu)

A Program Construction and Verification Tool for Separation Logic
Brijesh Dongol, Victor B. F. Gomes, and Georg Struth
Calculating Certified Compilers for Non-Deterministic Languages
Patrick Bahr

10:30 - 11:00

Coffee break

11:00 - 12:30 (Chair: Stephan Van Staden)

Notions of Bidirectional Computation and Entangled State Monads
Faris Abou-Saleh, James Cheney, Jeremy Gibbons, James McKinna, and Perdita Stevens
A clear picture of lens laws
Sebastian Fischer, Zhenjiang Hu, and Hugo Pacheco

12:30 - 13:15

Lunch

13:20 -

Excursion and Banquet

Wednesday 1st July

09:30 - 10:30 (Chair: Ralf Hinze)

Invited Talk: A Compilation of Compliments for a Compelling Companion: the Comprehension
If I were to name the most versatile and effective tool in my box of abstractions, I could shout my answer: the comprehension. Disguised in a variety of syntactic forms, comprehensions are found at the core of most established and contemporary database languages. Comprehensions uniformly embrace iteration, filtering, aggregation, or quantification. Comprehensions concisely express query transformations that otherwise fill stacks of paper(s). Yet their semantics is sufficiently simple that it can be shaped to fit a variety of demands. Comprehensions fare as user-facing language constructs just as well as internal query representations that facilitate code generation. Most importantly, perhaps, comprehensions are found in the vocabulary of the database and programming language communities, serving as a much needed interpreter that connects both worlds.

The humble comprehension deserves a pat on the back - that is just what this talk will attempt to provide.

10:30 - 11:00

Coffee break

11:00 - 12:30 (Chair: Bernhard Möller)

Regular Varieties of Automata and Coequations
Julian Salamanca, Jan Rutten, Marcello Bonsangue, Enric Cosme-Llópez, and Adolfo Ballester-Bolinches
Column-wise Extendible Vector Expressions and the Relational Computation of Sets of Sets
Rudolf Berghammer

12:30 - 14:00

Lunch

14:00 - 15:30 (Chair: Brent Yorgey)

Turing-Completeness Totally Free
Conor McBride
Auto in Agda: Programming proof search using reflection
Pepijn Kokke and Wouter Swierstra

15:30 - 16:00

Coffee break

16:00 - 17:30 (Chair: Janis Voigtländer)

Fusion for Free: Efficient Algebraic Effect Handlers
Nicolas Wu and Tom Schrijvers
PC Chair's Report, closing, farewell
Ralf Hinze