Fri 28 Aug 2026 14:00 - 14:30 at IP132 Kelley - Afternoon Session

In many high-level programming language implementations, the runtime system dictates an object layout that the compiler must stick to. When a human programmer wants to optimize a program, however, one of their primary levers of performance is changing data representation. For example, an HPC programmer knows how to pack a regular tree into a byte array for more efficient access. Unfortunately, this is error-prone, making it an undesirable way to achieve performance optimization at the expense of safety and readability. Furthermore, whenever a program receives data from the network or disk, rigid insistence on a particular heap layout causes an impedance mismatch we know as deserialization. Data represented in memory has pointers and arbitrary, sparse layout, while data on disk is packed contiguously, so data must be transformed from one form to another and back. Programming with serialized data is a technique for unifying the in-memory and on-disk representations of data, where the serialized form is used for both. This technique allows data processing programs to skip the deserialization/reserialization steps by operating directly on the data in its serialized form, and it also represents a principled approach to optimizing programs by compacting data representations and therefore increasing locality and minimizing indirection.

Fri 28 Aug

Displayed time zone: Eastern Time (US & Canada) change

14:00 - 15:30
Afternoon SessionML Family at IP132 Kelley
14:00
30m
Talk
Functional Programming with Serialized DataInvited Talk
ML Family
Michael Vollmer University of Kent
14:30
30m
Talk
Language Support for Property-Based TestingInvited Talk
ML Family
Harrison Goldstein University at Buffalo, SUNY