Eliciting Domain Expertise Reduces Examples Needed for Program Synthesis
Jeremy Ferguson
EECS Department, University of California, Berkeley
Technical Report No. UCB/EECS-2024-83
May 10, 2024
http://www2.eecs.berkeley.edu/Pubs/TechRpts/2024/EECS-2024-83.pdf
While Programming By Example (PBE) holds the promise of putting programming tasks in reach for non-programmer domain experts, PBE for complex programs often requires a large number of examples. We aim to bring the benefits of PBE to domains in which providing sufficient examples is prohibitively tedious or time-consuming. We build our approach around the insight that users often have useful domain knowledge that input-output examples can express only indirectly. We introduce a synthesis framework that accepts as input both: (i)~traditional labeled examples and (ii)~decisions about whether particular domain concepts are relevant to the task at hand. This novel synthesis framework allows us to explore the tradeoff between providing examples vs. domain knowledge. For a sample domain, we find that a difference of 8 additional domain concept decisions improves synthesized programs as much as 80 additional input-output examples. To our knowledge, this is the first synthesis approach that brings together examples and explicitly elicited and checked domain knowledge; we hope it opens the door to additional approaches for this new flavor of multi-modal program synthesis.
Advisors: Sarah Chasins
BibTeX citation:
@mastersthesis{Ferguson:EECS-2024-83, Author= {Ferguson, Jeremy}, Title= {Eliciting Domain Expertise Reduces Examples Needed for Program Synthesis}, School= {EECS Department, University of California, Berkeley}, Year= {2024}, Month= {May}, Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2024/EECS-2024-83.html}, Number= {UCB/EECS-2024-83}, Abstract= {While Programming By Example (PBE) holds the promise of putting programming tasks in reach for non-programmer domain experts, PBE for complex programs often requires a large number of examples. We aim to bring the benefits of PBE to domains in which providing sufficient examples is prohibitively tedious or time-consuming. We build our approach around the insight that users often have useful domain knowledge that input-output examples can express only indirectly. We introduce a synthesis framework that accepts as input both: (i)~traditional labeled examples and (ii)~decisions about whether particular domain concepts are relevant to the task at hand. This novel synthesis framework allows us to explore the tradeoff between providing examples vs. domain knowledge. For a sample domain, we find that a difference of 8 additional domain concept decisions improves synthesized programs as much as 80 additional input-output examples. To our knowledge, this is the first synthesis approach that brings together examples and explicitly elicited and checked domain knowledge; we hope it opens the door to additional approaches for this new flavor of multi-modal program synthesis.}, }
EndNote citation:
%0 Thesis %A Ferguson, Jeremy %T Eliciting Domain Expertise Reduces Examples Needed for Program Synthesis %I EECS Department, University of California, Berkeley %D 2024 %8 May 10 %@ UCB/EECS-2024-83 %U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2024/EECS-2024-83.html %F Ferguson:EECS-2024-83