2022
DOI: 10.1145/3547622
|View full text |Cite
|
Sign up to set email alerts
|

Searching entangled program spaces

Abstract: Many problem domains, including program synthesis and rewrite-based optimization, require searching astronomically large spaces of programs. Existing approaches often rely on building specialized data structures—version-space algebras, finite tree automata, or e-graphs—to compactly represent such spaces. At their core, all these data structures exploit independence of subterms; as a result, they cannot efficiently represent more complex program spaces, where the choices of subterms are entangled. … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
4
0

Year Published

2023
2023
2024
2024

Publication Types

Select...
2
2
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 13 publications
(5 citation statements)
references
References 35 publications
0
4
0
Order By: Relevance
“…Tree automata underlie many practical algorithms for synthesis based on compactly representing large spaces of programs and expressions [Gulwani 2011;Handa and Rinard 2020;Koppel et al 2022;Miltner et al 2022;Wang et al 2017aWang et al ,b, 2018. The main idea is to efficiently represent classes of expressions which are equivalent with respect to some examples.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…Tree automata underlie many practical algorithms for synthesis based on compactly representing large spaces of programs and expressions [Gulwani 2011;Handa and Rinard 2020;Koppel et al 2022;Miltner et al 2022;Wang et al 2017aWang et al ,b, 2018. The main idea is to efficiently represent classes of expressions which are equivalent with respect to some examples.…”
Section: Discussionmentioning
confidence: 99%
“…The result was a potentially large transition system, not a compact program. The use of tree automata that work over syntax trees was advanced in [Madhusudan 2011] and has been used for practical algorithms in several program synthesis contexts [Handa and Rinard 2020;Koppel et al 2022;Miltner et al 2022;Wang et al 2017aWang et al ,b, 2018.…”
Section: Related Workmentioning
confidence: 99%
“…ECTAs [23], [24] are another, related compact data structure that extends e-graphs, Version-Space Algebras [25], [26], and Finite Tree Automata [27], with the concept of "entanglement"; that is, some choices of terms from e-classes may depend on choices done in other e-classes. Since the backbone of ECTAs is quite similar to an e-graph, the colors extension is applicable to this domain as well.…”
Section: Related Workmentioning
confidence: 99%
“…An egraph offers one essential property for diversification: every path through the e-graph represents a functionally equivalent variant of the input program [48,37]. A random e-graph traversal can also be very efficient, supporting the generation of tens of thousands of equivalent variants from a single seed program in minutes [29] Consequently, the choice of e-graphs is the key to build a diversification tool that is both effective and fast. We have designed 135 rewriting rules in WASM-MUTATE, which can transform the e-graph from fine to coarse grained levels.…”
Section: Introductionmentioning
confidence: 99%