Learning from Failure in Program Synthesis: Generalizing and Minimizing Conflicts

Master Thesis (2026)
Author(s)

A. Guncan (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Contributor(s)

S. Dumančić – Mentor (TU Delft - Electrical Engineering, Mathematics and Computer Science)

T.R. Hinnerichs – Mentor (TU Delft - Electrical Engineering, Mathematics and Computer Science)

M. Mazo Espinosa – Graduation committee member (TU Delft - Mechanical Engineering)

M.A. Costea – Graduation committee member (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Faculty
Electrical Engineering, Mathematics and Computer Science
More Info
expand_more
Publication Year
2026
Language
English
Graduation Date
02-09-2026
Awarding Institution
Delft University of Technology
Project
Herb, DSAIT5000
Programme
Computer Science, Data Science and Artificial Intelligence Technology
Faculty
Electrical Engineering, Mathematics and Computer Science
Page Views
36
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Program synthesis searches a grammar-defined space for a program that satisfies a user specification. Constraints can significantly reduce this search space. They can either be added manually by the user or derived through conflict analysis, which turns failed candidates into learned constraints. These constraints often retain irrelevant candidate details and accumulate costly redundancy. This thesis extends a conflict-analysis framework with core-guided MUC generalization and constraint-set cleanup. Generalization uses a semantic unsatisfiable core to wildcard irrelevant branches while preserving the candidate root and core nodes, as well as values referenced by core relations. Cleanup minimizes the active constraint set in many ways: by either removing constraints through exact deduplication or subsumption, or by merging constraints through single-differences and cross-relations. We evaluate both extensions on several benchmarks, assessing the reduced search space, constraint set size, runtime, and number of solved problems and used enumerations. At the largest program sizes, generalized MUC reduces enumerations by anywhere between 60 and 99.9%, consistently improving over the previous MUC implementation. Similarly, the strongest cleanup configuration can reduce the mean active constraint population by more than three orders of magnitude. While the new extensions manage to solve slightly more problems, their runtime improvement is negligible. Nonetheless, our extensions show that conflict analysis can learn substantially more general constraints and represent them more compactly.

Files

License info not available