Refinement types for incremental computational complexity

20Citations
Citations of this article
12Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

With recent advances, programs can be compiled to efficiently respond to incremental input changes. However, there is no language-level support for reasoning about the time complexity of incremental updates. Motivated by this gap, we present CostIt, a higherorder functional language with a lightweight refinement type system for proving asymptotic bounds on incremental computation time. Type refinements specify which parts of inputs and outputs may change, as well as dynamic stability, a measure of time required to propagate changes to a program’s execution trace, given modified inputs. We prove our type system sound using a new step-indexed cost semantics for change propagation and demonstrate the precision and generality of our technique through examples

Cite

CITATION STYLE

APA

Çiçek, E., Garg, D., & Acar, U. (2015). Refinement types for incremental computational complexity. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 9032, 406–431. https://doi.org/10.1007/978-3-662-46669-8_17

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free