Glass-Box Program Synthesis: A Machine Learning Approach
Konstantina Christakopoulou, Adam Tauman Kalai

TL;DR
This paper introduces a glass-box approach to program synthesis that uses a program as a loss function, enabling more efficient and accurate search for solutions across various problem domains.
Contribution
It presents an intelligent search system that learns probabilities over program spaces using a glass-box loss, improving synthesis efficiency and accuracy over brute-force methods.
Findings
Achieves about 70% success rate with 4 iterations on target problems.
Improves self-learning capabilities in domain-agnostic scenarios.
Solves complex problems faster than brute-force search.
Abstract
Recently proposed models which learn to write computer programs from data use either input/output examples or rich execution traces. Instead, we argue that a novel alternative is to use a glass-box loss function, given as a program itself that can be directly inspected. Glass-box optimization covers a wide range of problems, from computing the greatest common divisor of two integers, to learning-to-learn problems. In this paper, we present an intelligent search system which learns, given the partial program and the glass-box problem, the probabilities over the space of programs. We empirically demonstrate that our informed search procedure leads to significant improvements compared to brute-force program search, both in terms of accuracy and time. For our experiments we use rich context free grammars inspired by number theory, text processing, and algebra. Our results show that (i)…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Parallel Computing and Optimization Techniques · Machine Learning and Data Classification
