Learning to Represent Programs with Property Signatures
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 and output type ?_out, a property is a function of type: (?_in, ?_out) ? Bool that (informally) describes some simple property of the function under consideration. For instance, if ?_in and ?_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.
I would like to be able to recommend accepting this paper, but I can*t. It describes two contributions to the community that could be valuable: 1: searcho, a programming language designed for studying program synthesis via search over programs 2: A method of automatically choosing interesting features for guided program search. The paper does not give enough evidence to ascertain the value of either contribution. There are now a large number of program synthesis works using ML, and a huge literature on program synthesis without ML. While many of ML works use a DSL as the testbed, surely the authors* feature selection method can be applied in some of these DSLs, allowing comparisons with current art? On the other hand, many of the ML methods don*t require the DSL used in the works that introduce them. Can searcho + your set of training and test programs distinguish between these methods, and establish a benchmark? Are there some more realistic tasks/applications that searcho makes reasonable, not readily approached with previous DSLs used for testing these algorithms? I think this paper could be valuable if it could demonstrate either in what ways the new feature selection algorithm is an improvement over prior ML methods, or that searcho is valuable as a benchmark or for approaching interesting applications. ###################################################################################### edit after author response: raising to 6, I think the deepcoder experiments are useful in contextualizing the contribution of the authors* feature selection method.
You are a member of the scientific community tasked with peer review. Review the following paper title and abstract.
### Title + Abstract
Learning to Represent Programs with Property Signatures
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 and output type ?_out, a property is a function of type: (?_in, ?_out) ? Bool that (informally) describes some simple property of the function under consideration. For instance, if ?_in and ?_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.
user
<think>Okay, to do a decent peer review, I should start with summarizing what the work is about. This includes novelty, contributions, clarity, and impact. I might include suggestions to issues that I find critical to the usefulness of the work. Starting with novelty, there are different types of novelty. The first aspect of novelty is scope and scale. Is the work covering a broader perspective than previous works? The second aspect is methodology. Is the proposed methodology novel compared to previous methods? Do they provide any significant advantage over previous methodologies? The third aspect is results. Are the results different compared previous work? Does this lead to any novel theories or an extension of current theories? Next is clarity, I will be reading the work in depth and analyze if any sentences can be potentially ambiguous or misleading. If any sentences are ambiguous, I will state them and give a suggestion on how to rephrase such sentence or how to make more clear to the audience. Lastly, impact is important. I will attempt to predict how such work will impact the scientific community. This might include the applications of such work and how the work might transform the way we study a certain topic. Finally, I will might only mention issues that are critical. This is to keep the review as concise and helpful as possible.</think>



I would like to be able to recommend accepting this paper, but I can*t. It describes two contributions to the community that could be valuable: 1: searcho, a programming language designed for studying program synthesis via search over programs 2: A method of automatically choosing interesting features for guided program search. The paper does not give enough evidence to ascertain the value of either contribution. There are now a large number of program synthesis works using ML, and a huge literature on program synthesis without ML. While many of ML works use a DSL as the testbed, surely the authors* feature selection method can be applied in some of these DSLs, allowing comparisons with current art? On the other hand, many of the ML methods don*t require the DSL used in the works that introduce them. Can searcho + your set of training and test programs distinguish between these methods, and establish a benchmark? Are there some more realistic tasks/applications that searcho makes reasonable, not readily approached with previous DSLs used for testing these algorithms? I think this paper could be valuable if it could demonstrate either in what ways the new feature selection algorithm is an improvement over prior ML methods, or that searcho is valuable as a benchmark or for approaching interesting applications. ###################################################################################### edit after author response: raising to 6, I think the deepcoder experiments are useful in contextualizing the contribution of the authors* feature selection method.
assistant
I would like to be able to recommend accepting this paper, but I can*t. It describes two contributions to the community that could be valuable: 1: searcho, a programming language designed for studying program synthesis via search over programs 2: A method of automatically choosing interesting features for guided program search. The paper does not give enough evidence to ascertain the value of either contribution. There are now a large number of program synthesis works using ML, and a huge literature on program synthesis without ML. While many of ML works use a DSL as the testbed, surely the authors* feature selection method can be applied in some of these DSLs, allowing comparisons with current art? On the other hand, many of the ML methods don*t require the DSL used in the works that introduce them. Can searcho + your set of training and test programs distinguish between these methods, and establish a benchmark? Are there some more realistic tasks/applications that searcho makes reasonable, not readily approached with previous DSLs used for testing these algorithms? I think this paper could be valuable if it could demonstrate either in what ways the new feature selection algorithm is an improvement over prior ML methods, or that searcho is valuable as a benchmark or for approaching interesting applications. ###################################################################################### edit after author response: raising to 6, I think the deepcoder experiments are useful in contextualizing the contribution of the authors* feature selection method.