Synthesis with Asymptotic Resource Bounds

03/06/2021
by   Qinheping Hu, et al.
0

We present a method for synthesizing recursive functions that satisfy both a functional specification and an asymptotic resource bound. Prior methods for synthesis with a resource metric require the user to specify a concrete expression exactly describing resource usage, whereas our method uses big-O notation to specify the asymptotic resource usage. Our method can synthesize programs with complex resource bounds, such as a sort function that has complexity O(nlog(n)). Our synthesis procedure uses a type system that is able to assign an asymptotic complexity to terms, and can track recurrence relations of functions. These typing rules are justified by theorems used in analysis of algorithms, such as the Master Theorem and the Akra-Bazzi method. We implemented our method as an extension of prior type-based synthesis work. Our tool, SynPlexity, was able to synthesize complex divide-and-conquer programs that cannot be synthesized by prior solvers.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/16/2019

Resource-Guided Program Synthesis

This article presents resource-guided synthesis, a technique for synthes...
research
07/13/2021

Bottom-up Synthesis of Recursive Functional Programs using Angelic Execution

We present a novel bottom-up method for the synthesis of functional recu...
research
01/15/2001

Multiple-Size Divide-and-Conquer Recurrences

This short note reports a master theorem on tight asymptotic solutions t...
research
11/22/2018

Automated Amortised Resource Analysis for Term Rewrite Systems

In this paper we establish an automated amortised resource analysis for ...
research
01/05/2018

Verifying and Synthesizing Constant-Resource Implementations with Types

We propose a novel type system for verifying that programs correctly imp...
research
08/14/2019

Type-Based Resource Analysis on Haskell

We propose an amortized analysis that approximates the resource usage of...
research
02/21/2020

Exponential Automatic Amortized Resource Analysis

Automatic amortized resource analysis (AARA) is a type-based technique f...

Please sign up or login with your details

Forgot password? Click here to reset