@article{10.1145_3776717,
author = {Meyer, Roland and Tepe, Jakob},
title = {Oriented Metrics for Bottom-Up Enumerative Synthesis},
year = {2026},
issue_date = {January 2026},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {10},
number = {POPL},
url = {https://doi.org/10.1145/3776717},
doi = {10.1145/3776717},
abstract = {In syntax-guided synthesis, one of the challenges is to reduce the enormous size of the search space. We observe that most search spaces are not just flat sets of programs, but can be endowed with a structure that we call an oriented metric. Oriented metrics measure the distance between programs, like ordinary metrics do, but are designed for settings in which operations have an orientation. Our focus is on the string and the bitvector domains, where operations like concatenation and bitwise conjunction transform an input into an output in a way that is not symmetric. We develop several new oriented metrics for these domains. Oriented metrics are designed for search space reduction, and we present four techniques: (i) pruning the search space to a ball around the ground truth, (ii) factorizing the search space by an equivalence that is induced by the oriented metric, (iii) abstracting the oriented metric (and hence the equivalence) and refining it, and (iv) improving the enumeration order by learning from abstract information. We acknowledge that these techniques are inspired by developments in the literature. By understanding their roots in oriented metrics, we can substantially increase their applicability and efficiency. We have integrated these techniques into a new synthesis algorithm and implemented the algorithm in a new solver. Notably, our solver is generic in the oriented metric over which it computes. We conducted experiments in the string and the bitvector domains, and consistently improve the performance over the state-of-the-art by more than an order of magnitude.},
journal = {Proc. ACM Program. Lang.},
month = {jan},
articleno = {75},
numpages = {30},
keywords = {Bottom-Up Enumeration, Metrics, Syntax-Guided Synthesis},
date-added = {2026-1-9 10:4:17 +0100}
}
Library Size: 13G (12941 entries),
Last Updated: Apr 04, 2026, 18:14:59,
Build Time: N/A