This program is tentative and subject to change.
The Application Binary Interface (ABI) for a language specifies the interoperability rules for each of its target platforms, including properties such as data layout and calling conventions, such that compliance with the rules will ensure “safe” execution and perhaps provide certain guarantees about resource usage. These rules are relied upon by compilers for that language and others, libraries, and foreign-function interfaces. Unfortunately, ABIs are typically specified in prose and, while type systems for source languages have grown richer over time, ABIs have largely remained the same, lacking analogous advances in expressivity and safety guarantees.
We outline a vision for richer, semantic ABIs that would facilitate safer interoperability and library integrations, supported by a methodology for formally specifying ABIs using realizability models. These semantic ABIs relate abstract, high-level types to unwieldy, but well-behaved, low-level code. We demonstrate the approach with a case study that formalizes the ABI of a functional source language in terms of a reference-counting implementation in a C-like target language. A significant contribution is our reference-counting realizability model which uses a novel extension to separation logic that captures how each reference owns a share to the reference-counted resource. To demonstrate the value of a semantic ABI as an analytical tool, we show how several different practically-motivated design decisions can be interpreted in the semantic ABI. Finally, we give the first formalization of a Swift-style ABI with library evolution.
This program is tentative and subject to change.
Wed 23 OctDisplayed time zone: Pacific Time (US & Canada) change
13:40 - 15:20 | |||
13:40 20mTalk | Realistic Realizability: Specifying ABIs You Can Count On OOPSLA 2024 Andrew Wagner Northeastern University, Zachary Eisbach Northeastern University, Amal Ahmed Northeastern University, USA | ||
14:00 20mTalk | AUTOMAP: Inferring Rank-Polymorphic Function Applications with Integer Linear Programming OOPSLA 2024 Robert Schenck DIKU, University of Copenhagen, Nikolaj Hey Hinnerskov DIKU, University of Copenhagen, Troels Henriksen University of Copenhagen, Magnus Madsen Aarhus University, Martin Elsman University of Copenhagen | ||
14:20 20mTalk | Quantitative Weakest Hyper Pre: Unifying Correctness and Incorrectness Hyperproperties via Predicate Transformers OOPSLA 2024 Linpeng Zhang University College London, Noam Zilberstein Cornell University, Benjamin Lucien Kaminski Saarland University; University College London, Alexandra Silva Cornell University | ||
14:40 20mTalk | VarLifter: Recovering Variables and Types from Bytecode of Solidity Smart Contracts OOPSLA 2024 Yichuan Li Nanjing University of Science and Technology, Wei Song Nanjing University of Science and Technology, Jeff Huang Texas A&M University | ||
15:00 20mTalk | Weighted Context-Free-Language Ordered Binary Decision Diagrams OOPSLA 2024 Meghana Aparna Sistla The University of Texas at Austin, Swarat Chaudhuri University of Texas at Austin, Thomas Reps University of Wisconsin-Madison |