2018
DOI: 10.1007/978-3-319-96145-3_15
|View full text |Cite
|
Sign up to set email alerts
|

Counterexample Guided Inductive Synthesis Modulo Theories

Abstract: Abstract. Program synthesis is the mechanised construction of software. One of the main difficulties is the efficient exploration of the very large solution space, and tools often require a user-provided syntactic restriction of the search space. We propose a new approach to program synthesis that combines the strengths of a counterexample-guided inductive synthesizer with those of a theory solver, exploring the solution space more efficiently without relying on user guidance. We call this approach CEGIS(T ), … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
46
0

Year Published

2019
2019
2020
2020

Publication Types

Select...
5
1

Relationship

0
6

Authors

Journals

citations
Cited by 51 publications
(48 citation statements)
references
References 32 publications
0
46
0
Order By: Relevance
“…We evaluated the above techniques in CVC4SY on four benchmark sets: invariant synthesis benchmarks from the verification of Lustre [11] models; a set from work on synthesizing invertibility conditions for bit-vector operators [12] (IC-BV); a set of bit-vector invariant synthesis problems [2] (CegisT); and the SyGuS-COMP 2018 [1] benchmarks from five tracks: assorted problems (General), conditional linear arithmetic problems (CLIA), invariant synthesis problems (INV), and programming-by-examples problems [10] with a set over bit-vectors (PBE-BV) and another over strings (PBE-Str). We also considered separately the CrCi subset from General, which corresponds to cryptographic circuit synthesis.…”
Section: Discussionmentioning
confidence: 99%
“…We evaluated the above techniques in CVC4SY on four benchmark sets: invariant synthesis benchmarks from the verification of Lustre [11] models; a set from work on synthesizing invertibility conditions for bit-vector operators [12] (IC-BV); a set of bit-vector invariant synthesis problems [2] (CegisT); and the SyGuS-COMP 2018 [1] benchmarks from five tracks: assorted problems (General), conditional linear arithmetic problems (CLIA), invariant synthesis problems (INV), and programming-by-examples problems [10] with a set over bit-vectors (PBE-BV) and another over strings (PBE-Str). We also considered separately the CrCi subset from General, which corresponds to cryptographic circuit synthesis.…”
Section: Discussionmentioning
confidence: 99%
“…In the second variant, we set cbits = {5, 6, 7}, but reduce the number of missing hole values to 4 (i.e., we provide part of the invariant). Each benchmark takes two random inputs and we consider the following input ranges { [1,50], [1,100]}. In total, we have 10 benchmarks for mannadiv.…”
Section: Benchmarksmentioning
confidence: 99%
“…We consider the following simplified variants of the problem: (i ) petter_0 computes 1≤i≤n 1 and requires a polynomial invariant of degree one, (ii ) petter_x computes 1≤i≤n x for a given input variable x and requires a polynomial invariant of degree two, (iii ) petter_1 computes 1≤i≤n i and requires a polynomial invariant of degree two, and (iv ) petter_10 computes 1≤i≤n i + 1 and requires a polynomial invariant of degree two. Each benchmark takes two random inputs and we consider the following input ranges { [1,10], [1,100], [1,1000]}. In total, we have 12 variants of petter, each run for values of cbits ∈ {5, 6, 7}-i.e., a total of 36 benchmarks.…”
Section: Benchmarksmentioning
confidence: 99%
“…The set of such states is formally specified as the state predicate ∀i ∈ Z N : (x i−1 + x i = 2). We can represent this protocol as a graph containing arcs (0, 2, 1), (1,1,2), and (2, 0, 1) as shown in Figure 1. For simplicity, we assume that protocols consist of self-disabling processes.…”
Section: Preliminariesmentioning
confidence: 99%
“…As a result, τ ′ would include arcs (0, 1) and (2, 1), but excludes (3, 1) because r(3, 1) holds (see Figure 14-(a)). Executing Step 8 would result in including arcs (3,2) and (1,1), resulting in tree τ ′′ (Figure 14-(b)). Steps 9, 10, 11: The remaining steps of the algorithm labels τ ′′ (Figure 14-(b)), which would result in the action graph in Figure 15.…”
Section: Agreement Protocolmentioning
confidence: 99%