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 and output type
, a property is a function of type: $(\tau_{in}, \tau_{out})
\rightarrow $ that (informally) describes some simple property of
the function under consideration. For instance, if and
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.

生成讲解博客的中文版本

生成AI智能校验的中文版本