Can humans teach machines to code?
This addresses the practical challenge of human-in-the-loop program synthesis for non-experts, but the results are incremental as they confirm existing skepticism about example sufficiency.
The study evaluated whether non-expert humans can provide enough examples for program synthesis systems to learn programming concepts, finding that non-experts typically fail to supply sufficient examples for accurate program generation.
The goal of inductive program synthesis is for a machine to automatically generate a program from user-supplied examples. A key underlying assumption is that humans can provide sufficient examples to teach a concept to a machine. To evaluate the validity of this assumption, we conduct a study where human participants provide examples for six programming concepts, such as finding the maximum element of a list. We evaluate the generalisation performance of five program synthesis systems trained on input-output examples (i) from non-expert humans, (ii) from a human expert, and (iii) randomly sampled. Our results suggest that non-experts typically do not provide sufficient examples for a program synthesis system to learn an accurate program.