Lune

ICLR2020Top-tier venue

Learning to Represent Programs with Property Signatures

Augustus Odena, Charles Sutton

2020Year
34Citations
13Top-tier citations

Abstract

We introduce the notion of property signatures, a representation for programs and program specifications meant for consumption by machine learning algorithms. Given a function with input type τin\tau_{in} and output type τout\tau_{out}, a property is a function of type: (τin,τout)→Bool(\tau_{in}, \tau_{out}) \rightarrow \texttt{Bool} that (informally) describes some simple property of the function under consideration. For instance, if τin\tau_{in} and τout\tau_{out} are both lists of the same type, one property might ask is the input list the same length as the output list?'. If we have a list of such properties, we can evaluate them all for our function to get a list of outputs that we will call the property signature. Crucially, we can guess' the property signature for a function given only a set of input/output pairs meant to specify that function. We discuss several potential applications of property signatures and show experimentally that they can be used to improve over a baseline synthesizer so that it emits twice as many programs in less than one-tenth of the time.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext 25fcb0cc-0985-4833-8652-db244c75e59f

Cited by top-tier papers13

Ask how each one uses it

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines