SPLASH 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
Thu 21 Oct 2021 11:05 - 11:20 at Zurich E - ICFP 2020 Papers Chair(s): Stefan K. Muller

A typical way of analyzing the time complexity of functional programs is to
extract a recurrence expressing the running time of the program in terms of the
size of its input, and then to solve the recurrence to obtain a big-O bound.
For recurrence extraction to be compositional, it is also necessary to extract
recurrences for the size of outputs of helper functions. Previous work has
developed techniques for using logical relations to state a formal correctness
theorem for a general recurrence extraction translation: a program is bounded
by a recurrence when the operational cost is bounded by the extracted cost, and
the output value is bounded, according to a value bounding relation defined by
induction on types, by the extracted size. This previous work supports
higher-order functions by viewing recurrences as programs in a lambda-calculus,
or as mathematical entities in a denotational semantics thereof. In this
paper, we extend these techniques to support amortized analysis, where costs
are rearranged from one portion of a program to another to achieve more precise
bounds. We give an intermediate language in which programs can be annotated
according to the banker's method of amortized analysis; this language has an
affine type system to ensure credits are not spent more than once. We give a
recurrence extraction translation of this language into a recurrence language,
a simply-typed lambda-calculus with a cost type, and state and prove a bounding
logical relation expressing the correctness of this translation. The
recurrence language has a denotational semantics in preorders, and we use this
semantics to solve recurrences, e.g analyzing binary counters and splay trees.

Thu 21 Oct

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

10:50 - 12:10
ICFP 2020 PapersSIGPLAN Papers at Zurich E
Chair(s): Stefan K. Muller Illinois Institute of Technology
10:50
15m
Talk
A General Approach to Define Binders using Matching Logic
SIGPLAN Papers
Xiaohong Chen University of Illinois at Urbana-Champaign, Grigore Roşu University of Illinois at Urbana-Champaign
DOI
11:05
15m
Talk
Denotational Recurrence Extraction for Amortized Analysis
SIGPLAN Papers
Joseph W. Cutler University of Pennsylvania, Daniel R. Licata Wesleyan University, Norman Danner Wesleyan University
DOI
11:20
15m
Talk
Program Sketching with Live Bidirectional Evaluation
SIGPLAN Papers
Justin Lubin University of California at Berkeley, Nick Collins University of Chicago, Cyrus Omar University of Michigan, Ravi Chugh University of Chicago
DOI
11:35
15m
Talk
Liquid Information Flow Control
SIGPLAN Papers
Nadia Polikarpova University of California at San Diego, Jean Yang Carnegie Mellon University, Deian Stefan University of California at San Diego, USA, Shachar Itzhaky Technion, Armando Solar-Lezama Massachusetts Institute of Technology, Travis Hance Carnegie Mellon University
DOI
11:50
20m
Live Q&A
Discussion, Questions and Answers
SIGPLAN Papers