Cited by 656Logic, programming, and type systemsFormal Methods in VerificationSoftware Testing and Debugging Techniques

Syntax-guided synthesis

Open access
Alur, Rajeev, Bodik, Rastislav, Juniwal, Garvit, Martin, Milo M. K., Raghothaman, Mukund, Seshia, Sanjit A., Singh, Rishabh, Solar-Lezama, Armando +2 more·2013·2013 Formal Methods in Computer-Aided Design

Abstract

The classical formulation of the program-synthesis problem is to find a program that meets a correctness specification given as a logical formula. Recent work on program synthesis and program optimization illustrates many potential benefits of allowing the user to supplement the logical specification with a syntactic template that constrains the space of allowed implementations. Our goal is to identify the core computational problem common to these proposals in a logical framework. The input to the syntax-guided synthesis problem (SyGuS) consists of a background theory, a semantic correctness specification for the desired program given by a logical formula, and a syntactic set of candidate implementations given by a grammar. The computational problem then is to find an implementation from the set of candidate expressions so that it satisfies the specification in the given theory. We describe three different instantiations of the counter-example-guided-inductive-synthesis (CEGIS) strategy for solving the synthesis problem, report on prototype implementations, and present experimental results on an initial set of benchmarks.

AI snapshot

Written from the paper’s full text.

TL;DR

This paper formalizes syntax-guided synthesis (SyGuS): given a background theory, a logical correctness specification, and a grammar of candidate expressions, find an expression satisfying the specification. It describes three CEGIS-based prototype solvers—enumerative, symbolic/constraint-based, and stochastic—and reports an initial benchmark comparison.

Key findings

  • The SyGuS problem is defined as: given theory \(T\), typed function symbol \(f\), formula \(\phi\), and candidate set \(L\), find \(e \in L\) such that \(\phi[f/e]\) is valid modulo \(T\); the paper also proposes a SYNTH-LIB input format based on SMT-LIB2.
  • Three CEGIS instantiations are implemented: enumerative learning, constraint-based/symbolic learning, and stochastic search; in the illustrative max example, the enumerative solver found the correct expression after only four SMT calls although about 200 expressions were enumerated and only about 80 stored.
  • On 57 Hacker’s Delight benchmarks derived from 20 bit-manipulation problems, the enumerative solver dominated, followed by stochastic, while symbolic was slowest and failed to terminate on 29 of 57.
  • For integer benchmarks, no solver synthesized array-search for \(n > 4\); enumerative was fastest except max3, where stochastic was faster. For parity Boolean/bit-vector benchmarks, enumerative was always faster and symbolic failed every instance; Morton benchmarks were not completed by any synthesizer.

Methods

  • The paper gives a logical problem formulation with a background theory, a universally quantified first-order correctness specification, and a context-free grammar defining the candidate expression set; it also discusses encodings for multiple functions and let-expressions.
  • The solving architecture is counterexample-guided inductive synthesis (CEGIS): a learning algorithm proposes a candidate from accumulated examples, and a verification oracle—implemented with an SMT solver—checks validity and returns counterexamples until a correct candidate is found or learning fails.
  • The three learning strategies are: enumerative dynamic-programming search over increasing expression size with example-based pruning; symbolic component-based synthesis of loop-free programs with typing constraints and incremental SMT constraints; and stochastic Metropolis-Hastings search over parse trees with score \(\exp(-\beta C(e))\), default \(\beta=0.5\), and concurrent searches over expression sizes.

Limitations

  • Stated: the current benchmark set is limited to synthesis of loop-free functions with no optimality criterion; the number of benchmarks and maturity of solvers are too limited to draw broad conclusions; prototypes were not engineered for high performance, so exact solution times are not necessarily representative.
  • Stated: the symbolic solver uses a direct encoding and off-the-shelf Z3 rather than a synthesis-tuned solver, and the comparison with Sketch is “not an entirely fair comparison.”
  • Evident from the text: several benchmarks timed out or could not be solved by any prototype, and the paper reports that problem encoding into grammar significantly affects performance, so the relative merits observed are preliminary.

Model-written summary. Check it against the paper before relying on it.

Integrity signals

Registry

Crossref · 10.1109/fmcad.2013.6679385

Cites

57 of 57 references verified0 citation errors · 0 not checkable

Statistics

Nothing to recompute.

Claims the paper makes

0 of 14 cited sources checked · 0 supported · 0 flagged

  • Findingcitation

    This set includes 57 different benchmarks derived from 20 different bit-manipulation problems from the book Hacker's Delight [27].

    “This set includes 57 different benchmarks derived from 20 different bit-manipulation problems from the book Hacker's Delight [27].”
    Quote in the paperNot a substantial claim0 of 1 sources checked
    • cites [27]

      Couldn’t be matched to a paper in Crossref, so it can’t be checked.

  • Findingown data

    The enumerative technique was better than the stochastic search for all but two benchmarks.

    “Moreover, we observe that the enumerative technique was better than the stochastic search for all but two benchmarks,”
    Quote in the paperSubstantial claim
  • Findingown data

    All solvers were affected by the encoding of the problem for at least some benchmark.

    “We can see in the data that all solvers were affected by the encoding of the problem for at least some benchmark;”
    Quote in the paperNot a substantial claim
  • Findingown data

    The enumerative solver was able to solve more hd problems than even the more optimized symbolic solver.

    “Moreover, the enumerative solver was able to solve more hd problems than even the more optimized symbolic solver.”
    Quote in the paperNot a substantial claim
  • Findingown data

    This benchmark proved to be quite complex, as no solver was able to synthesize this function for n > 4.

    “This benchmark proved to be quite complex, as no solver was able to synthesize this function for n > 4.”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim. 40
  • May combine two claims. 31
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Findingreasoning

    The mutation e = ITE(0 ≤ y, y, x) is considered with probability 1/288.

    “Thus, the mutation e = ITE(0 ≤ y, y, x) is considered with probability 1/288.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Findingnone given

    As with other benchmarks, the enumerative solver was always faster, whereas the symbolic solver failed on every instance.

    “As with other benchmarks, the enumerative solver was always faster, whereas the symbolic solver failed on every instance.”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim.

    Findingnone given

    We have formalized the problem of syntax-guided synthesis.

    “Aimed at formulating the core computational problem common to many recent tools for program synthesis in a canonical and logical manner, we have formalized the problem of syntax-guided synthesis.”
    Quote in the paperSubstantial claim
  • May combine two claims.

    Findingown data

    In the illustrative example, the correct expression was examined after only four calls to the SMT solver, although about 200 expressions were enumerated by the algorithm.

    “In the example we have described, the correct expression was examined after only four calls to the SMT solver, although about 200 expressions were enumerated by the algorithm.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Findingreasoning

    The probability of choosing e = ITE(x ≤ 0, y, x) as the initial candidate is 1/768.

    “Thus, the probability of choosing e = ITE(x ≤ 0, y, x) as the initial candidate is 1/768.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Findingown data

    For the Hacker's Delight benchmarks (hd) the enumerative solver dominates, followed by the stochastic solver.

    “For the Hacker's Delight benchmarks (hd) we see that the enumerative solver dominates, followed by the stochastic solver.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Findingnone given

    None of the grammars for these problems required the synthesizer to discover the bit-vector constants involved in the efficient implementations.

    “It is worth mentioning, however, that none of the grammars for these problems required the synthesizer to discover the bit-vector constants involved in the efficient implementations.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Findingreasoning

    The probability of deciding to mutate the boolean condition x ≤ 0 is 1/6.

    “The subexpression to mutate is chosen uniformly at random, and so the probability of deciding to mutate the boolean condition x ≤ 0 is 1/6.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Findingreasoning

    Given a set of concrete examples {(-1, -4), (-1, -3), (-1, -2), (1, 1), (1, 2)}, Score(e) = exp(-2β), and Score(e ) = exp(-3β), and so e becomes the new candidate with probability exp(-β).

    “Given a set of concrete examples {(-1, -4), (-1, -3), (-1, -2), (1, 1), (1, 2)}, Score(e) = exp(-2β), and Score(e ) = exp(-3β), and so e becomes the new candidate with probability exp(-β).”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Findingown data

    The symbolic search was the slowest, failing to terminate on 29 of the 57 benchmarks.

    “The symbolic search was the slowest, failing to terminate on 29 of the 57 benchmarks.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Findingnone given

    The current set of benchmarks is limited to synthesis of loop-free functions with no optimality criterion.

    “The current set of benchmarks is limited to synthesis of loop-free functions with no optimality criterion;”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Findingown data

    In the run of the algorithm on the example, although the algorithm enumerated about 200 expressions, only about 80 expressions were stored.

    “For instance, in the run of the algorithm on the example, although the algorithm enumerated about 200 expressions, only about 80 expressions were stored.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Findingnone given

    Our suite includes a range of benchmarks from simple toy problems to nontrivial functions that are difficult to derive by hand.

    “Our suite includes a range of benchmarks from simple toy problems to nontrivial functions that are difficult to derive by hand.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Findingown data

    The modification to the original algorithm [5] that searches for programs of increasing length provides better running times for most benchmarks in our set, but it can also be more expensive in certain cases.

    “This approach provides better running times for most benchmarks in our set, but it can also be more expensive in certain cases.”
    Quote in the paperNot a substantial claim0 of 1 sources checked
    • cites [5]

      Couldn’t be matched to a paper in Crossref, so it can’t be checked.

  • May combine two claims.

    Findingown data

    With one exception, the enumerative solver is the fastest for this class of benchmarks, followed by the stochastic solver.

    “With one exception, the enumerative solver is the fastest for this class of benchmarks, followed by the stochastic solver.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Findingnone given

    The Morton benchmarks, which involve the synthesis of a function to compute Morton numbers, are intended as challenge problems, and could not be completed by any of the synthesizers.

    “The Morton benchmarks, which involve the synthesis of a function to compute Morton numbers, are intended as challenge problems, and could not be completed by any of the synthesizers.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Findingown data

    Some of the benchmarks can be solved in a few hundredths of a second, whereas others could not be solved by any of our prototype implementations.

    “Some of the benchmarks can be solved in a few hundredths of a second, whereas others could not be solved by any of our prototype implementations.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Findingreasoning

    If e = ITE(x ≤ y, y, x) had been the mutation considered, then Score(e ) = 1, and e would have become the new candidate with probability 1.

    “If, on the other hand, e = ITE(x ≤ y, y, x) had been the mutation considered, then Score(e ) = 1, and e would have become the new candidate with probability 1.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Findingnone given

    There are 768 integer-valued expressions in the grammar of size six.

    “There are 768 integer-valued expressions in the grammar of size six.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Findingown data

    Sketch completed all but 11 of the hd benchmarks, and it was able to synthesize array-search up to size 7.

    “Sketch completed all but 11 of the hd benchmarks, and it was able to synthesize array-search up to size 7.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Findingreasoning

    Of the 48 boolean conditions in the grammar, y ≤ 0 may be chosen with probability 1/48.

    “Of the 48 boolean conditions in the grammar, y ≤ 0 may be chosen with probability 1/48.”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim.

    Findingcitation

    We have transcribed all the hacker's delight and integer benchmarks into the input language of the Sketch synthesis system [24].

    “Specifically, we have transcribed all the hacker's delight and integer benchmarks into the input language of the Sketch synthesis system [24].”
    Quote in the paperSubstantial claim0 of 1 sources checked
    • cites [24]

      Couldn’t be matched to a paper in Crossref, so it can’t be checked.

  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Premisecitation

    Syntax guidance is usually a key ingredient in current approaches to synthesis that blend induction and deduction.

    “Many current approaches to synthesis blend induction and deduction [22]; syntax guidance is usually a key ingredient in these approaches.”
    Quote in the paperNot a substantial claim0 of 1 sources checked
    • cites [22]

      Couldn’t be matched to a paper in Crossref, so it can’t be checked.

  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    In the presence of let-expressions, the size of an expression directly corresponds to the number of instructions in the corresponding straight-line code.

    “In presence of let-expressions, the size directly corresponds to the number of instructions in the corresponding straight-line code, and thus such a metric can be used effectively for applications such as super-optimization.”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim.

    Interpretationreasoning

    Inductive learning is a natural fit for the syntax-guided synthesis problem because the concept class is simply the set L of permissible expressions.

    “Inductive learning is thus a natural fit for the syntax-guided synthesis problem introduced in this paper: the concept class is simply the set L of permissible expressions.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    The statement that there exists an expression e in the language generated by a context-free grammar G such that φ[f/e] is valid in a theory T cannot be translated to determining the truth of a formula in the theory T, even with additional quantifiers.

    “Finally, it is worth noting that the statement “there exists an expression e in the language generated by a contextfree grammar G such that the formula ϕ[f /e] is valid in a theory T ” cannot be translated to determining the truth of a formula in the theory T , even with additional quantifiers.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based). May combine two claims.

    Interpretationreasoning

    To optimize the computation of the product of two two-by-two matrices, the search space can be limited to implementations that use only 7 multiplication operations, and such a restriction can be expressed only syntactically.

    “For example, to optimize the computation of the product of two two-by-two matrices, we can limit the search space to implementations that use only 7 multiplication operations, and such a restriction can be expressed only syntactically.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    Using the candidate set L to limit the search space for potential implementations has significant computational benefits for solving the syntax-guided synthesis problem.

    “First, the user can use the candidate set L to limit the search-space for potential implementations, and this has significant computational benefits for solving the synthesis problem.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Premisecitation

    Many current approaches to synthesis blend induction and deduction.

    “Many current approaches to synthesis blend induction and deduction [22]; syntax guidance is usually a key ingredient in these approaches.”
    Quote in the paperNot a substantial claim0 of 1 sources checked
    • cites [22]

      Couldn’t be matched to a paper in Crossref, so it can’t be checked.

  • May combine two claims.

    Interpretationnone given

    The top-level expression specified by the grammar T := (let [z = U] z + z) is the sum of two identical subexpressions built using arithmetic operators, and such a structure cannot be specified using a standard context-free grammar.

    “The top-level expression specified by this grammar is the sum of two identical subexpressions built using arithmetic operators, and such a structure cannot be specified using a standard context-free grammar.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S2 (checkable), S3 (load-bearing).

    Premisenone given

    Counterexample-guided inductive synthesis (CEGIS) is perhaps the most popular approach to inductive synthesis today.

    “Counterexample-guided inductive synthesis (CEGIS) [16], [24] shown in Figure 1 is perhaps the most popular approach to inductive synthesis today.”
    Quote in the paperNot a substantial claim0 of 2 sources checked
    • cites [16]

      Couldn’t be matched to a paper in Crossref, so it can’t be checked.

    • cites [24]

      Couldn’t be matched to a paper in Crossref, so it can’t be checked.

  • May combine two claims.

    Interpretationown data

    While let-expressions in a specification can be desugared, the same does not hold when they are used in a grammar.

    “While let-expressions in a specification can be desugared, the same does not hold when they are used in a grammar.”
    Quote in the paperSubstantial claim
  • Classified as probably not a substantial claim.

    Interpretationnone given

    The answer to the syntax-guided synthesis problem need not be unique: there may be two expressions e1 and e2 in the set L of allowed expressions such that both implementations satisfy the correctness specification φ.

    “The answer to our synthesis problem need not be unique: there may be two expressions e 1 and e 2 in the set L of allowed expressions such that both implementations satisfy the correctness specification ϕ.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    Every expression in the set L1 is equivalent to ax+by+c for integer constants a, b, c.

    “For example, every expression in the set L 1 is equivalent to ax+by+c, for integer constants a, b, c.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S2 (checkable).

    Interpretationreasoning

    Multi-modal specifications combining syntactic and semantic constraints have the potential to make programming more intuitive.

    “Such forms of multi-modal specifications have the potential to make programming more intuitive.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Interpretationown data

    The overall trend we observe is that the encoding of the problem space into grammar has a significant impact on performance, although the solvers are often good at mitigating the effect of larger search spaces.

    “but the overall trend we observe is that the encoding of the problem space into grammar has a significant impact on performance, although the solvers are often good at mitigating the effect of larger search spaces.”
    Quote in the paperSubstantial claim
  • May combine two claims.

    Interpretationown data

    Despite these limitations, the symbolic solver was able to solve many of the benchmarks, providing a lower bound on what can be achieved with a straightforward use of off-the-shelf technology.

    “Despite these limitations, the symbolic solver was able to solve many of the benchmarks, providing a lower bound on what can be achieved with a straightforward use of off-the-shelf technology.”
    Quote in the paperSubstantial claim
  • May combine two claims.

    Interpretationreasoning

    This experiment is not an entirely fair comparison because, although Sketch uses a specialized constraint solver and carefully tuned encodings, the symbolic solver presented in this paper uses a direct encoding of the problem into sequences of constraints and uses Z3, a widely used off-the-shelf SMT solver which is not as aggressively tuned for synthesis problems.

    “This experiment is not an entirely fair comparison because, although Sketch uses a specialized constraint solver and carefully tuned encodings, the symbolic solver presented in this paper uses a direct encoding of the problem into sequences of constraints and uses Z3, a widely used offthe-shelf SMT solver which is not as aggressively tuned for synthesis problems.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Premisereasoning

    Level d5 involves a highly unconstrained grammar, so the synthesizer must discover which operators to use in addition to how to connect them together.

    “Level d5, on the other extreme, involves a highly unconstrained grammar, so the synthesizer must discover which operators to use in addition to how to connect them together.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Premisecitation

    Our algorithm does not attempt to optimize the size of the expression, while the super-optimizer of Schufza et al. [11] does so.

    “Our algorithm differs from that of Schufza et al. [11] in three ways: (1) we do not attempt to optimize the size of the expression while the super-optimizer does so;”
    Quote in the paperNot a substantial claim0 of 1 sources checked
    • cites [11]

      Couldn’t be matched to a paper in Crossref, so it can’t be checked.

  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    We have some evidence to suggest that the symbolic solver can discover such constants from the full space of 2^32 possible constants with relatively little additional effort.

    “We have some evidence to suggest that the symbolic solver can discover such constants from the full space of 2 32 possible constants with relatively little additional effort.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    If an answer e exists, then the search at size n = |e| is guaranteed to converge.

    “If an answer e exists, then the search at size n = |e| is guaranteed to converge.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Interpretationown data

    We have some evidence that more optimized encodings can make the symbolic approach more competitive, although there are still many problems for which the enumerative approach is more effective.

    “We have some evidence that more optimized encodings can make the symbolic approach more competitive, although there are still many problems for which the enumerative approach is more effective.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    In all cases, the complexity of the problems derives from the size of the space of possible functions and not from the complexity of checking whether a candidate solution is correct.

    “In all cases, however, the complexity of the problems derives from the size of the space of possible functions and not from the complexity of checking whether a candidate solution is correct.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Interpretationown data

    Nonsymbolic techniques can be effective in exploring spaces of implementations and can surpass symbolic techniques, especially when the problems do not require the synthesizer to derive complex bit-vector constants, which is true for all the bit-vector benchmarks used.

    “We can also see that nonsymbolic techniques can be effective in exploring spaces of implementations and can surpass symbolic techniques, especially when the problems do not require the synthesizer to derive complex bit-vector constants, which is true for all the bit-vector benchmarks used.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Premisereasoning

    CEGIS has close connections to algorithmic debugging using counterexamples and counterexample-guided abstraction refinement (CEGAR).

    “CEGIS has close connections to algorithmic debugging using counterexamples [19] and counterexample-guided abstraction refinement (CEGAR) [25].”
    Quote in the paperNot a substantial claim0 of 2 sources checked
    • cites [19]

      Couldn’t be matched to a paper in Crossref, so it can’t be checked.

    • cites [25]

      Couldn’t be matched to a paper in Crossref, so it can’t be checked.

  • Classified as probably not a substantial claim.

    Interpretationreasoning

    The order of magnitude of the solution times and the relative complexity of the different approaches on different benchmarks can give us an idea of the relative merits of each of the approaches described earlier.

    “However, the order of magnitude of the solution times and the relative complexity of the different approaches on different benchmarks can give us an idea of the relative merits of each of the approaches described earlier.”
    Quote in the paperSubstantial claim
  • May combine two claims.

    Interpretationreasoning

    The problems where the enumerative solver succeeded but Sketch failed were the d5 versions of problems 11, 12, 14 and 15, which suggests that the enumerative solver was better at pruning unnecessary instructions from the grammar.

    “The problems where the enumerative solver succeeded but Sketch failed were the d5 versions of problems 11, 12, 14 and 15, which suggests that the enumerative solver was better at pruning unnecessary instructions from the grammar.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Premisenone given

    For most problems, there are three different levels of grammars numbered d0, d1 and d5; level d0 involves only the instructions necessary for the implementation, so the synthesizer only needs to discover how to connect them together.

    “For most problems, there are three different levels of grammars numbered d0, d1 and d5; level d0 involves only the instructions necessary for the implementation, so the synthesizer only needs to discover how to connect them together.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Premisecitation

    The enumerative learning algorithm [8] adopts a dynamic programming based search strategy that systematically enumerates concepts (expressions) in increasing order of complexity.

    “The enumerative learning algorithm [8] adopts a dynamic programming based search strategy that systematically enumerates concepts (expressions) in increasing order of complexity.”
    Quote in the paperNot a substantial claim0 of 1 sources checked
    • cites [8]

      Couldn’t be matched to a paper in Crossref, so it can’t be checked.

  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    Our prototype implementation of the three approaches to solve this problem is the first attempt to compare and contrast existing algorithms on a common set of benchmarks.

    “Our prototype implementation of the three approaches to solve this problem is the first attempt to compare and contrast existing algorithms on a common set of benchmarks.”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim.

    Interpretationnone given

    The verification oracle O_V can be implemented as an SMT solver that checks whether φ[f/e] is valid modulo the theory T.

    “O V can be implemented as an SMT solver that checks whether ϕ[f /e] is valid modulo the theory T .”
    Quote in the paperSubstantial claim
  • May combine two claims.

    Premisenone given

    Unlike the hd benchmarks where the different grammars for a given benchmark were strict subsets of each other, in this case the encodings AIG and NAND correspond to different representations of the same space of functions.

    “Unlike the hd benchmarks where the different grammars for a given benchmark were strict subsets of each other, in this case the encodings AIG and NAND correspond to different representations of the same space of functions.”
    Quote in the paperSubstantial claim
  • Classified as probably not a substantial claim. May combine two claims.

    Interpretationnone given

    None of the implementations were engineered with high performance in mind, so the exact solution times are not necessarily representative of the best that can be achieved by a particular approach.

    “None of the implementations were engineered with highperformance in mind, so the exact solution times are not necessarily representative of the best that can be achieved by a particular approach.”
    Quote in the paperSubstantial claim
  • May combine two claims.

    Interpretationown data

    Although both implementations are immature, these results suggest that it may be easier to derive good pruning rules for the explicit search than an effective fitness function for the stochastic solver.

    “so although both implementations are immature, these results suggest that it may be easier to derive good pruning rules for the explicit search than an effective fitness function for the stochastic solver.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Premisecitation

    The stochastic learning procedure is an adaptation of the algorithm recently used by Schufza et al. [11] for program super-optimization.

    “The stochastic learning procedure is an adaptation of the algorithm recently used by Schufza et al. [11] for program super-optimization.”
    Quote in the paperNot a substantial claim0 of 1 sources checked
    • cites [11]

      Couldn’t be matched to a paper in Crossref, so it can’t be checked.

  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Interpretationnone given

    The benchmarks provide an initial demonstration of the expressiveness of the base formalism and of the relative merits of the individual solution strategies presented earlier.

    “nevertheless, the benchmarks provide an initial demonstration of the expressiveness of the base formalism and of the relative merits of the individual solution strategies presented earlier.”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim. May combine two claims.

    Interpretationnone given

    Grammars can be conveniently used to express a wide range of constraints, and in particular, to bound the depth and/or the size of the desired expression.

    “Grammars can be conveniently used to express a wide range of constraints, and in particular, to bound the depth and/or the size of the desired expression.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Interpretationnone given

    For many of these problems the magic constants come from a handful of values such as 1, 0, or 0xffffffff, so it is unnecessary for the enumerative solver to search the space of 2^32 possible bit-vectors.

    “On the other hand, for many of these problems the magic constants come from a handful of values such as 1, 0, or 0xffffffff, so it is unnecessary for the enumerative solver to search the space of 2 32 possible bit-vectors.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Premisecitation

    Since we do not know the expression size n, we run concurrent searches for different values of n, whereas the super-optimizer can use the size of the input program as an upper bound on program size.

    “(3) since we do not know the expression size n, we run concurrent searches for different values of n, whereas the super-optimizer can use the size of the input program as an upper bound on program size.”
    Quote in the paperNot a substantial claim0 of 1 sources checked
    • cites [11]

      Couldn’t be matched to a paper in Crossref, so it can’t be checked.

  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationnone given

    The symbolic solver used for these experiments represents one of many possible approaches to encoding the synthesis problem into a series of constraints.

    “The symbolic solver used for these experiments represents one of many possible approaches to encoding the synthesis problem into a series of constraints.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S4 (based).

    Premisenone given

    For many problems, there are different natural ways to encode the space of desired functions into a grammar.

    “For many problems, there are different natural ways to encode the space of desired functions into a grammar, so we are interested in observing the effect of these differences in encoding for the different solvers.”
    Quote in the paperNot a substantial claim
62 of 62
  • The authors state this as an assumption.

    The free variables in a correctness specification are universally quantified.

    “The free variables in the specification are assumed to be universally quantified: a given function f satisfies the above specification if the quantified formula ∀x, y. ϕ 1 holds, or equivalently, if the formula ϕ 1 is valid.”
  • The paper relies on this without support.

    Existing formalization of the SMT problem and the interchange format does not provide a suitable abstraction for capturing syntactic guidance.

    “Existing formalization of the SMT problem and the interchange format does not provide a suitable abstraction for capturing the syntactic guidance.”
  • The paper relies on this without support.

    The computational engines used by the various synthesis projects rely on a small set of algorithmic ideas but have evolved independently with no mechanism for comparison, benchmarking, and sharing of back-ends.

    “The computational engines used by the various synthesis projects mentioned above rely on a small set of algorithmic ideas, but have evolved independently with no mechanism for comparison, benchmarking, and sharing of back-ends.”
  • The paper relies on this without support.

    The Metropolis-Hastings algorithm guarantees that, in the limit, expressions e are sampled with probability proportional to Score(e).

    “The Metropolis-Hastings algorithm guarantees that, in the limit, expressions e are sampled with probability proportional to Score(e).”
4 of 4

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

  • Correct-by-construction program synthesis is an approach to software development that aims to produce programs guaranteed to be correct with respect to their specifications from the outset, rather than relying on traditional testing and debugging methods to identify and fix errors after the fact.

    “This is an approach to software development that aims to produce programs that are guaranteed to be correct with respect to their specifications from the outset, rather than relying on traditional testing and debugging methods to identify and fix errors after the fact.”

    From Towards Guaranteed Safe AI: A Framework for Ensuring Robust and Reliable AI Systems (2024) · cites this paper as Alur et al., 2013

    Split into 2 atoms — 0 confirmed, 1 partially supported, 1 disputed, 0 misattributed, 0 unverifiable. Expand the claim to see per-atom verdicts.

    Checked by a reasoning model — may be wrong.

    Experimental — accuracy not yet measured
  • EUSolver is an enumeration-based synthesizer that won the General Track of the most recent SyGuS competition.

    “EUSolver [Alur et al. 2017], an enumeration-based synthesizer that won the General Track of the most recent SyGuS competition [Alur et al. 2013].”

    From Relational program synthesis (2018) · cites this paper as Alur et al. 2013

    The conclusion describes organizing a SyGuS-solvers competition as a future step, but gives no competition results. Searches for EUSolver, the General Track, and a winner found no passage in our copy establishing the attributed win. (LLM, conf=0.78)

    Experimental — accuracy not yet measured

Self-check

Percentages, sums and reported differences re-computed from the paper’s own numbers.

Each contradiction between two passages listed here was confirmed by an independent check.

  • Stated scores disagree with the example evaluations

    Minor

    Under the stated cost definition, ITE(x ≤ 0, y, x) fails four of the five listed examples, not two. The stated mutation ITE(0 ≤ y, y, x) fails none, not three.

  • Selected condition does not match the stated mutation

    Minor

    The text says the replacement condition chosen is y ≤ 0, but the resulting expression contains 0 ≤ y. Those are different conditions.

2 of 2

Cites

Flagged first, then by citations

Research works printed but not linked: 4

  1. pox, 2011, OpenFlow Controller
  2. shenker, 2011, The Future of Networking and the Past of Protocols"
  3. 0, F OpenFlow Controller
  4. handigol, 2009, Plug-n-Serve Load-balancing Web Traffic Using OpenFlow

Cited by

Sorted by citations

Authors
Alur, R., Bodik, R., Juniwal, G., Martin, M. M. K., Raghothaman, M., Seshia, S. A., Singh, R., Solar-Lezama, A., Torlak, E., & Udupa, A.
Affiliations
  • University of California, Berkeley (US)
  • University of Pennsylvania (US)
  • Massachusetts Institute of Technology (US)
Venue
2013 Formal Methods in Computer-Aided Design
Publisher
IEEE
Published
2013-10
Pages
1-8
OpenAlex
W2094878426
Cited by
656
References
50
Citations by year
2026: 29 · 2025: 45 · 2024: 48 · 2023: 55 · 2022: 49 · 2021: 65 · 2020: 64 · 2019: 63 · 2018: 61 · 2017: 58 · 2016: 54 · 2015: 37 · 2014: 25 · 2013: 3
FWCI
25.24
Type
conference paper
Language
en
Open access
Licence
cc-by-nc-sa
Locations
  • Formal Methods in Computer-Aided Design (publishedVersion)
  • DSpace@MIT (Massachusetts Institute of Technology) (submittedVersion, cc-by-nc-sa)
  • eScholarship (California Digital Library) (submittedVersion)
  • Other univ. web domain
Funders
National Science Foundation (1138996)
Topics
  • Physical Sciences › Computer Science › Artificial Intelligence › Logic, programming, and type systems
  • Physical Sciences › Computer Science › Computational Theory and Mathematics › Formal Methods in Verification
  • Physical Sciences › Computer Science › Software › Software Testing and Debugging Techniques
Keywords
syntax-guided synthesis, program synthesis, grammar, background theory, program optimization

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Claims read by deepseek-v4.1-flash under definition version 3 (extract-v3) on 2026-11-05.

Classified by jev-1.13-20260917 (gold-guideline-v0.2) on 2026-11-05.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review