Syntax-guided synthesis
Open accessAbstract
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
Cites
Statistics
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
- Findingown data
The exception was max3 where the stochastic solver was faster.
“The exception was max3 where the stochastic solver was faster.”
Quote in the paperNot a substantial claim - Findingown data
In some cases, the pruning strategies used by the solvers were able to ameliorate the impact of the larger search space.
“although in some cases, the pruning strategies used by the solvers were able to ameliorate the impact of the larger search space.”
Quote in the paperNot a substantial claim - Findingnone given
The more optimized symbolic solver did have a significant advantage in the array-search benchmarks which the enumerative solver could only solve up to size 4.
“On the other hand, the more optimized symbolic solver did have a significant advantage in the array-search benchmarks which the enumerative solver could only solve up to size 4.”
Quote in the paperNot a substantial claim - Interpretationreasoning
Adding support for multiple functions does not fundamentally increase the expressiveness of the notation.
“Although adding support for multiple functions does not fundamentally increase the expressiveness of the notation, it does offer significant convenience in encoding real-world synthesis problems.”
Quote in the paperNot a substantial claim - Interpretationreasoning
Adding support for problems with more than one unknown function is merely a matter of syntactic sugar.
“In principle, adding support for problems with more than one unknown function is merely a matter of syntactic sugar.”
Quote in the paperNot a substantial claim - Interpretationreasoning
The set L can be used to constrain the space of implementations for performance optimizations.
“Third, the set L can be used to constrain the space of implementations for the purpose of performance optimizations.”
Quote in the paperSubstantial claim - Interpretationreasoning
In some special cases, the decision problem for syntax-guided synthesis can be reduced to deciding formulas in the background theory using additional quantification.
“In some special cases, it is possible to reduce the decision problem for syntax guided synthesis to the problem of deciding formulas in the background theory using additional quantification.”
Quote in the paperNot a substantial claim - Interpretationreasoning
A grammar may permit expressions of arbitrary depth that may not be representable by a single parameterized expression in the original theory, as in the case of L2.
“However, the grammar may permit expressions of arbitrary depth which may not be representable in this way, as in the case of L 2 .”
Quote in the paperSubstantial claim - Interpretationreasoning
Because the synthesis problem reduces to finding a correct expression from the syntactic space of expressions, the search problem lends itself to machine learning and inductive inference.
“Fourth, because the synthesis problem boils down to finding a correct expression from the syntactic space of expressions, this search problem lends itself to machine learning and inductive inference as discussed in Section III.”
Quote in the paperNot a substantial claim - Interpretationnone given
The syntax-guided synthesis approach gives the programmer flexibility to express the desired artifact using a combination of syntactic and semantic constraints.
“Second, this approach gives the programmer the flexibility to express the desired artifact using a combination of syntactic and semantic constraints.”
Quote in the paperSubstantial claim - Interpretationreasoning
The reduction for L1 was possible because the set of all expressions in L1 can be represented by a single parameterized expression in the original theory.
“This reduction was possible for L 1 because the set of all expressions in L 1 can be represented by a single parameterized expression in the original theory.”
Quote in the paperSubstantial claim - Interpretationreasoning
Deciding whether there exists an implementation for f in the set L1 corresponds to checking whether ∃a,b,c. ∀X. φ[f/ax+by+c] holds, where X is the set of all free variables in φ.
“If ϕ is the correctness specification, then deciding whether there exists an implementation for f in the set L 1 corresponds to checking whether the formula ∃ a, b, c. ∀ X. ϕ[f /ax + by + c] holds, where X is the set of all free variables in ϕ.”
Quote in the paperSubstantial claim - Interpretationown data
The optimization of pruning based on concrete counterexamples reduces the number of invocations of the verification oracle.
“The optimization of pruning based on concrete counterexamples helps in two ways.First, it reduces the number of invocations of the verification oracle.”
Quote in the paperSubstantial claim - Interpretationnone given
The number of benchmarks and the maturity of the solvers are too limited to draw broad conclusions.
“The number of benchmarks and the maturity of the solvers are too limited to draw broad conclusions,”
Quote in the paperSubstantial claim - Premisenone given
Our algorithm synthesizes expression graphs rather than straight-line assembly code.
“(2) we synthesize expression graphs rather than straight-line assembly code,”
Quote in the paperSubstantial claim - Interpretationown data
These results show the impact that different encodings of the same space of functions can have on the solution time for both of the solution strategies that succeeded.
“These results show the impact that different encodings of the same space of functions can have on the solution time for both of the solution strategies that succeeded.”
Quote in the paperNot a substantial claim - Interpretationcitation
The optimization of pruning based on concrete counterexamples reduces the search space for candidate expressions significantly.
“Second, it reduces the search space for candidate expressions significantly (see [8] for details).”
Quote in the paperSubstantial claim0 of 1 sources checked- cites [8]
Couldn’t be matched to a paper in Crossref, so it can’t be checked.
- Classified as probably not a substantial claim. 40
- May combine two claims. 31
Probably not a substantial claim: may not pass S3 (load-bearing).
FindingreasoningThe 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 claimMay combine two claims.
Findingnone givenAs 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 claimClassified as probably not a substantial claim.
Findingnone givenWe 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 claimMay combine two claims.
Findingown dataIn 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 claimProbably not a substantial claim: may not pass S3 (load-bearing).
FindingreasoningThe 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 claimMay combine two claims.
Findingown dataFor 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 claimProbably not a substantial claim: may not pass S3 (load-bearing).
Findingnone givenNone 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 claimProbably not a substantial claim: may not pass S3 (load-bearing).
FindingreasoningThe 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 claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
FindingreasoningGiven 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 claimMay combine two claims.
Findingown dataThe 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 claimMay combine two claims.
Findingnone givenThe 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 claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Findingown dataIn 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 claimProbably not a substantial claim: may not pass S3 (load-bearing).
Findingnone givenOur 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 claimMay combine two claims.
Findingown dataThe 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 dataWith 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 claimMay combine two claims.
Findingnone givenThe 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 claimMay combine two claims.
Findingown dataSome 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 claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
FindingreasoningIf 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 claimProbably not a substantial claim: may not pass S3 (load-bearing), S4 (based).
Findingnone givenThere 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 claimMay combine two claims.
Findingown dataSketch 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 claimProbably not a substantial claim: may not pass S3 (load-bearing).
FindingreasoningOf 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 claimClassified as probably not a substantial claim.
FindingcitationWe 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).
PremisecitationSyntax 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 givenIn 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 claimClassified as probably not a substantial claim.
InterpretationreasoningInductive 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 claimProbably not a substantial claim: may not pass S3 (load-bearing), S4 (based).
Interpretationnone givenThe 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 claimProbably not a substantial claim: may not pass S3 (load-bearing), S4 (based). May combine two claims.
InterpretationreasoningTo 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 claimProbably not a substantial claim: may not pass S4 (based).
Interpretationnone givenUsing 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 claimProbably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationMany 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 givenThe 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 claimProbably not a substantial claim: may not pass S2 (checkable), S3 (load-bearing).
Premisenone givenCounterexample-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 dataWhile 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 claimClassified as probably not a substantial claim.
Interpretationnone givenThe 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 claimProbably not a substantial claim: may not pass S4 (based).
Interpretationnone givenEvery 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 claimProbably not a substantial claim: may not pass S2 (checkable).
InterpretationreasoningMulti-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 claimMay combine two claims.
Interpretationown dataThe 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 claimMay combine two claims.
Interpretationown dataDespite 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 claimMay combine two claims.
InterpretationreasoningThis 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 claimProbably not a substantial claim: may not pass S3 (load-bearing).
PremisereasoningLevel 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 claimMay combine two claims.
PremisecitationOur 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 givenWe 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 claimProbably not a substantial claim: may not pass S4 (based).
Interpretationnone givenIf 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 claimMay combine two claims.
Interpretationown dataWe 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 claimProbably not a substantial claim: may not pass S3 (load-bearing), S4 (based).
Interpretationnone givenIn 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 claimMay combine two claims.
Interpretationown dataNonsymbolic 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 claimProbably not a substantial claim: may not pass S3 (load-bearing).
PremisereasoningCEGIS 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.
InterpretationreasoningThe 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 claimMay combine two claims.
InterpretationreasoningThe 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 claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Premisenone givenFor 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 claimProbably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationThe 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 givenOur 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 claimClassified as probably not a substantial claim.
Interpretationnone givenThe 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 claimMay combine two claims.
Premisenone givenUnlike 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 claimClassified as probably not a substantial claim. May combine two claims.
Interpretationnone givenNone 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 claimMay combine two claims.
Interpretationown dataAlthough 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 claimProbably not a substantial claim: may not pass S3 (load-bearing).
PremisecitationThe 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 givenThe 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 claimClassified as probably not a substantial claim. May combine two claims.
Interpretationnone givenGrammars 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 claimProbably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.
Interpretationnone givenFor 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 claimMay combine two claims.
PremisecitationSince 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 givenThe 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 claimProbably not a substantial claim: may not pass S4 (based).
Premisenone givenFor 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
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).”
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 measuredEUSolver 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
MinorUnder 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.
“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β)”
“We define Score(e) to be exp(-βC(e)), where β is a smoothing constant (set by default to 0.5), and the cost function C(e) is the number of concrete examples on which e does not satisfy ϕ.”
Selected condition does not match the stated mutation
MinorThe text says the replacement condition chosen is y ≤ 0, but the resulting expression contains 0 ≤ y. Those are different conditions.
“Of the 48 boolean conditions in the grammar, y ≤ 0 may be chosen with probability 1/48.”
“Thus, the mutation e = ITE(0 ≤ y, y, x) is considered with probability 1/288.”
Cites
Quinlan, J. R. (1986) · Machine Learning · doi:10.1007/bf00116251 · Cited by 21,439 · see citing works
McKeown (2008) · doi:10.1145/1355734.1355746 · Cited by 8,513 · see citing works
Language identification in the limit
Gold, E. M. (1967) · Information and Control · doi:10.1016/s0019-9958(67)91165-5 · Cited by 3,572 · see citing works
Angluin, D. (1988) · Machine Learning · doi:10.1023/a:1022821128753 · Cited by 1,918 · see citing works
Satisfiability Modulo Theories
Barrett, C. W., Sebastiani, R., Seshia, S., et al. (2009) · Handbook of Satisfiability · doi:10.3233/978-1-58603-929-5-825 · Cited by 1,909
Self-citationGude, N. S., Koponen, T., Pettit, J., Pfaff, B., Casado, M., McKeown, N., & Shenker, S. J. (2008) · ACM SIGCOMM Computer Communication Review · doi:10.1145/1384609.1384625 · Cited by 1,447 · see citing works
Satisfiability Modulo Theories
Barrett, C., & Tinelli, C. (2018) · Springer eBooks · doi:10.1007/978-3-319-10575-8_11 · Cited by 1,148 · see citing works
Shapiro, E. Y. (1983) · doi:10.7551/mitpress/1192.001.0001 · Cited by 1,085 · see citing works
Counterexample-guided abstraction refinement for symbolic model checking
Clarke, E. M., Grümberg, O., Jha, S., Lu, Y., & Veith, H. (2003) · Journal of the ACM · doi:10.1145/876638.876643 · Cited by 997 · see citing works
(2010) · doi:10.5555/1855711.1855728 · Cited by 970 · see citing works
Combinatorial sketching for finite programs
Solar-Lezama, A., Tancau, L., Bodík, R., Seshia, S., & Saraswat, V. (2006) · ASPLOS XII · doi:10.1145/1168857.1168907 · Cited by 922 · see citing works
Self-citationInductive Inference: Theory and Methods
Angluin, D., & Smith, C. H. (1983) · ACM Computing Surveys · doi:10.1145/356914.356918 · Cited by 872 · see citing works
Understanding network failures in data centers: measurement, analysis, and implications
Gill, P., Jain, N., & Nagappan, N. (2011) · Proceedings of the ACM SIGCOMM 2011 conference · doi:10.1145/2018436.2018477 · Cited by 714 · see citing works
Satisfiability modulo theories
de Moura, L., & Bjørner, N. (2011) · Communications of the ACM · doi:10.1145/1995376.1995394 · Cited by 651 · see citing works
Header space analysis: static checking for networks
Kazemian, P., Varghese, G., & McKeown, N. (2012) · Cited by 621 · see citing works
A Deductive Approach to Program Synthesis
Manna, Z., & Waldinger, R. J. (1980) · ACM Transactions on Programming Languages and Systems · doi:10.1145/357084.357090 · Cited by 586 · see citing works
Composing software-defined networks
Monsanto, C., Reich, J., Foster, N., Rexford, J., & Walker, D. (2013) · Cited by 497 · see citing works
VeriFlow: verifying network-wide invariants in real time
Khurshid, A., Zou, X. K., Zhou, W., Caesar, M., & Godfrey, P. B. (2013) · Cited by 487 · see citing works
The beacon openflow controller
Erickson, D. (2013) · doi:10.1145/2491185.2491189 · Cited by 437 · see citing works
(2013) · doi:10.1145/2342441.2342452 · Cited by 426 · see citing works
Characterization of Failures in an Operational IP Backbone Network
Markopoulou, A. P., Iannaccone, G., Bhattacharyya, S., Chuah, C., Ganjali, Y., & Diot, C. (2008) · IEEE/ACM Transactions on Networking · doi:10.1109/tnet.2007.902727 · Cited by 406 · see citing works
Debugging the data plane with anteater
Mai, H., Khurshid, A., Agarwal, R., Caesar, M., Godfrey, P. B., & King, S. T. (2011) · ACM SIGCOMM Conference (SIGCOMM) · doi:10.1145/2018436.2018470 · Cited by 376 · see citing works
Oracle-guided component-based program synthesis
Jha, S., Gulwani, S., Seshia, S. A., & Tiwari, A. (2010) · Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1 · doi:10.1145/1806799.1806833 · Cited by 365 · see citing works
Self-citationLinear Invariant Generation Using Non-linear Constraint Solving
Colón, M. A., Sankaranarayanan, S., & Sipma, H. B. (2003) · Lecture notes in computer science · doi:10.1007/978-3-540-45069-6_39 · Cited by 357 · see citing works
OpenFlow-based server load balancing gone wild
Wang, R., Butnariu, D., & Rexford, J. (2011) · Cited by 348 · see citing works
Program synthesis by sketching
Bodík, R., & Solar-Lezama, A. (2008) · Cited by 319 · see citing works
Self-citationSpreadsheet data manipulation using examples
Gulwani, S., Harris, W. R., & Singh, R. K. (2012) · Communications of the ACM · doi:10.1145/2240236.2240260 · Cited by 296 · see citing works
Self-citationSchkufza, E., Sharma, R., & Aiken, A. (2013) · International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) · doi:10.1145/2451116.2451150 · Cited by 279 · see citing works
From program verification to program synthesis
Srivastava, S., Gulwani, S., & Foster, J. S. (2010) · ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) · doi:10.1145/1706299.1706337 · Cited by 274 · see citing works
Ferguson, A. D., Guha, A., Liang, C., Fonseca, R., & Krishnamurthi, S. (2013) · ACM SIGCOMM Conference (SIGCOMM) · doi:10.1145/2486001.2486003 · Cited by 270 · see citing works
Al-Shaer, E. S., & Al-Haj, S. (2010) · ACM Workshop on Assurable and Usable Security Configuration (SafeConfig) · doi:10.1145/1866898.1866905 · Cited by 251 · see citing works
(2013) · Choice Reviews Online · doi:10.5860/choice.50-5043 · Cited by 250 · see citing works
Synthesis of loop-free programs
Gulwani, S., Jha, S., Tiwari, A., & Venkatesan, R. (2011) · ACM SIGPLAN Notices · doi:10.1145/1993316.1993506 · Cited by 246 · see citing works
A Methodology for LISP Program Construction from Examples
Summers, P. D. (1977) · Journal of the ACM · doi:10.1145/321992.322002 · Cited by 219 · see citing works
Programming by sketching for bit-streaming programs
Solar-Lezama, A., Rabbah, R., Bodík, R., & Ebci̇oğlu, K. (2005) · ACM SIGPLAN Notices · doi:10.1145/1064978.1065045 · Cited by 202 · see citing works
Self-citationVoellmy, A., Wang, J., Yang, Y., Ford, B., & Hudak, P. (2013) · ACM SIGCOMM Conference (SIGCOMM) · doi:10.1145/2486001.2486030 · Cited by 192 · see citing works
Rethinking Enterprise Network Control
Casado, M., Freedman, M. J., Pettit, J., Luo, J., Gude, N. S., McKeown, N., & Shenker, S. J. (2009) · IEEE/ACM Transactions on Networking · doi:10.1109/tnet.2009.2026415 · Cited by 186 · see citing works
StarExec: A Cross-Community Infrastructure for Logic Solving
Stump, A., Sutcliffe, G., & Tinelli, C. (2014) · Lecture notes in computer science · doi:10.1007/978-3-319-08587-6_28 · Cited by 177 · see citing works
Programming by sketching for bit-streaming programs
Solar-Lezama, A., Rabbah, R., Bodík, R., & Ebcioğlu, K. (2005) · Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation · doi:10.1145/1065010.1065045 · Cited by 167 · see citing works
Self-citationUdupa, A., Raghavan, A., Deshmukh, J. V., Mador-Haim, S., Martin, M. M. K., & Rajeev Alur, A. (2013) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/2491956.2462174 · Cited by 158 · see citing works
Self-citationA Data Driven Approach for Algebraic Loop Invariants
Sharma, R., Gupta, S., Hariharan, B., Aiken, A., Liang, P., & Nori, A. V. (2013) · Lecture notes in computer science · doi:10.1007/978-3-642-37036-6_31 · Cited by 135 · see citing works
On Solving Universally Quantified Horn Clauses
Bjørner, N., McMillan, K. L., & Rybalchenko, A. (2013) · Lecture notes in computer science · doi:10.1007/978-3-642-38856-9_8 · Cited by 120 · see citing works
Combinatorial sketching for finite programs
Solar-Lezama, A., Tancau, L., Bodík, R., Seshia, S. A., & Saraswat, V. (2006) · ACM SIGPLAN Notices · doi:10.1145/1168918.1168907 · Cited by 78 · see citing works
Self-citationFrom program verification to program synthesis
Srivastava, S., Gulwani, S., & Foster, J. S. (2010) · ACM SIGPLAN Notices · doi:10.1145/1707801.1706337 · Cited by 66 · see citing works
Nettle: Functional Reactive Programming for OpenFlow Networks
Voellmy, A., Agarwal, A., & Hudak, P. (2010) · doi:10.21236/ada555162 · Cited by 61 · see citing works
Nelson, T., Guha, A., Dougherty, D. J., Fisler, K., & Krishnamurthi, S. (2013) · ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN) · doi:10.1145/2491185.2491201 · Cited by 43 · see citing works
Kunčak, V., Mayer, M., Piskač, R., & Suter, P. (2012) · Communications of the ACM · doi:10.1145/2076450.2076472 · Cited by 39 · see citing works
Towards understanding bugs in open source router software
Yin, Z., Caesar, M., & Zhou, Y. (2010) · ACM SIGCOMM Computer Communication Review · doi:10.1145/1823844.1823849 · Cited by 31 · see citing works
Seshia, S. A. (2012) · ACM/IEEE Design Automation Conference (DAC) · doi:10.1145/2228360.2228425 · Cited by 29 · see citing works
Self-citationSchkufza, E., Sharma, R., & Aiken, A. (2013) · ACM SIGPLAN Notices · doi:10.1145/2499368.2451150 · Cited by 28 · see citing works
Language to Specify Syntax-Guided Synthesis ProblemsPreprint
Raghothaman, M., & Udupa, A. (2014) · arXiv (Cornell University) · doi:10.48550/arxiv.1405.5590 · Cited by 24 · see citing works
Self-citationGenerating Strings at Random from a Context Free Grammar
McKenzie, B. (1997) · UC Research Repository (University of Canterbury) · Cited by 23 · see citing works
Modular Synthesis of Sketches Using Models
Singh, R., Singh, R., Xu, Z., Krosnick, R., & Solar-Lezama, A. (2014) · Lecture notes in computer science · doi:10.1007/978-3-642-54013-4_22 · Cited by 23 · see citing works
Self-citationCalibrating Research in Program Synthesis Using 72,000 Hours of Programmer Time
Akiba, T., Imajo, K., Iwami, H., Iwata, Y., Kataoka, T., Takahashi, N., Moskal, M., & Swamy, N. (2013) · Cited by 18 · see citing works
Constraint Solving for Program Verification: Theory and Practice by Example
Rybalchenko, A. (2010) · Lecture notes in computer science · doi:10.1007/978-3-642-15205-4_7 · Cited by 15 · see citing works
TRANSIT: specifying protocols with concolic snippets
Udupa, A., Raghavan, A., Deshmukh, J. V., Mador-Haim, S., Martin, M. M. K., & Alur, R. (2013) · ACM SIGPLAN Notices · doi:10.1145/2499370.2462174
Self-citationConstraint Solving for Program Verification: Theory and Practice by Example
Rybalchenko, A. (2010) · Lecture Notes in Computer Science · doi:10.1007/978-3-642-14295-6_7
Flagged first, then by citations
Research works printed but not linked: 4
- pox, 2011, OpenFlow Controller
- shenker, 2011, The Future of Networking and the Past of Protocols"
- 0, F OpenFlow Controller
- handigol, 2009, Plug-n-Serve Load-balancing Web Traffic Using OpenFlow
Cited by
Sorted by citations
Large Language Models for Software Engineering: A Systematic Literature Review
Hou, X., Zhao, Y., Liu, Y., Yang, Z., Wang, K., Li, L., Luo, X., Lo, D., Grundy, J., & Wang, H. (2024) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3695988 · Cited by 1,029 · see citing works
cvc5: A Versatile and Industrial-Strength SMT Solver
Barbosa, H., Barrett, C., Brain, M., Kremer, G., Lachnitt, H., Mann, M., Mohamed, A., Mohamed, M., Niemetz, A., Nötzli, A., et al. (2022) · Lecture notes in computer science · doi:10.1007/978-3-030-99524-9_24 · Cited by 475 · see citing works
GitHub Copilot AI pair programmer: Asset or Liability?
Moradi Dakhel, A., Majdinasab, V., Nikanjam, A., Khomh, F., Desmarais, M. C., & Jiang, Z. M. (. (2023) · Journal of Systems and Software · doi:10.1016/j.jss.2023.111734 · Cited by 417 · see citing works
Program Synthesis with Large Language Models
Austin, J., Odena, A., Nye, M., Bosma, M., Michalewski, H., Dohan, D., Jiang, E., Cai, C., Terry, M., Le, Q., et al. (2021) · arXiv · doi:10.48550/arxiv.2108.07732 · Cited by 388 · see citing works
Automatic Software Repair: A Survey
Gazzola, L., Micucci, D., & Mariani, L. (2017) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2017.2755013 · Cited by 336 · see citing works
Reactive synthesis from signal temporal logic specifications
Raman, V., Donzé, A., Sadigh, D., Murray, R. M., & Seshia, S. A. (2015) · International Conference on Hybrid Systems: computation and control · doi:10.1145/2728606.2728628 · Cited by 260 · see citing works
Self-citationSynthesizing data structure transformations from input-output examples
Feser, J., Chaudhuri, S., & Dillig, I. (2015) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/2737924.2737977 · Cited by 250 · see citing works
FlashMeta: a framework for inductive program synthesis
Polozov, O., & Gulwani, S. (2015) · Conference on Object-Oriented Programming Systems, Languages, and Applications · doi:10.1145/2814270.2814310 · Cited by 229 · see citing works
Neuro-Symbolic Program SynthesisPreprint
Parisotto, E., Mohamed, A., Singh, R., Li, L. C., Zhou, D., & Kohli, P. (2016) · arXiv (Cornell University) · doi:10.48550/arxiv.1611.01855 · Cited by 227 · see citing works
Self-citationS3: syntax- and semantic-guided repair synthesis via programming by examples
Le, X.-B. D., Chu, D.-H., Lo, D., Goues, C. L., & Visser, W. (2017) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/3106237.3106309 · Cited by 219 · see citing works
Evaluation in artificial intelligence: from task-oriented to ability-oriented measurement
Hernández‐Orallo, J. (2016) · Artificial Intelligence Review · doi:10.1007/s10462-016-9505-7 · Cited by 208 · see citing works
Large Language Models are Few-shot Testers: Exploring LLM-based General Bug Reproduction
Kang, S., Yoon, J., & Yoo, S. (2023) · 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE) · doi:10.1109/icse48619.2023.00194 · Cited by 204 · see citing works
Learning syntactic program transformations from examples.
de Sousa, R. R. (2018) · LA Referencia (Red Federada de Repositorios Institucionales de Publicaciones Científicas) · Cited by 198 · see citing works
ICE: A Robust Framework for Learning Invariants
Garg, P., Löding, C., Madhusudan, P., & Neider, D. (2014) · Lecture notes in computer science · doi:10.1007/978-3-319-08867-9_5 · Cited by 191 · see citing works
Program synthesis from polymorphic refinement types
Polikarpova, N., Kuraj, I., & Solar-Lezama, A. (2016) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/2908080.2908093 · Cited by 189 · see citing works
Self-citationType-and-example-directed program synthesis
Osera, P.-M., & Zdancewic, S. (2015) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/2737924.2738007 · Cited by 185 · see citing works
Synthesizing highly expressive SQL queries from input-output examples
Wang, C., Cheung, A., & Bodík, R. (2017) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/3062341.3062365 · Cited by 178 · see citing works
Faster sorting algorithms discovered using deep reinforcement learning
Mankowitz, D. J., Michi, A., Zhernov, A., Gelmi, M., Selvi, M., Paduraru, C., Leurent, E., Iqbal, S., Lespiau, J.-B., Ahern, A., et al. (2023) · Nature · doi:10.1038/s41586-023-06004-9 · Cited by 177 · see citing works
Learning invariants using decision trees and implication counterexamples
Garg, P., Neider, D., Madhusudan, P., & Roth, D. (2016) · ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) · doi:10.1145/2837614.2837664 · Cited by 169 · see citing works
Gazzola, L., Micucci, D., & Mariani, L. (2018) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/3180155.3182526 · Cited by 167 · see citing works
Probabilistic model for code with decision trees
Raychev, V., Bielik, P., & Vechev, M. (2016) · Conference on Object-Oriented Programming Systems, Languages, and Applications · doi:10.1145/2983990.2984041 · Cited by 157 · see citing works
Hernández‐Orallo, J. (2016) · Cambridge University Press eBooks · doi:10.1017/9781316594179 · Cited by 156 · see citing works
Scaling Enumerative Program Synthesis via Divide and Conquer
Rajeev Alur, A., Radhakrishna, A., & Udupa, A. (2017) · Lecture notes in computer science · doi:10.1007/978-3-662-54577-5_18 · Cited by 144 · see citing works
Self-citationModelPlex: verified runtime validation of verified cyber-physical system models
Mitsch, S., & Platzer, A. (2016) · Formal Methods in System Design · doi:10.1007/s10703-016-0241-z · Cited by 128 · see citing works
Du, T., Inala, J. P., Pu, Y., Spielberg, A., Schulz, A., Rus, D. L., Solar-Lezama, A., & Matusik, W. (2018) · ACM Transactions on Graphics · doi:10.1145/3272127.3275006 · Cited by 127 · see citing works
Self-citationVarma, P., & Ré, C. (2018) · Proceedings of the VLDB Endowment · doi:10.14778/3291264.3291268 · Cited by 124 · see citing works
Synthesizing entity matching rules by examples
Singh, R., Meduri, V. V., Elmagarmid, A. K., Madden, S. R., Papotti, P., Quiané-Ruiz, J.-A., Solar-Lezama, A., & Tang, N. (2017) · Proceedings of the VLDB Endowment · doi:10.14778/3149193.3149199 · Cited by 122 · see citing works
Self-citationCounterexample-Guided Quantifier Instantiation for Synthesis in SMT
Reynolds, A., Deters, M., Kunčak, V., Tinelli, C., & Barrett, C. (2015) · Lecture notes in computer science · doi:10.1007/978-3-319-21668-3_12 · Cited by 119 · see citing works
Program synthesis using conflict-driven learning
Feng, Y., Martins, R., Bastani, O., & Dillig, I. (2018) · Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation · doi:10.1145/3192366.3192382 · Cited by 111 · see citing works
MultiPL-E: A Scalable and Polyglot Approach to Benchmarking Neural Code Generation
Cassano, F., Gouwar, J., Nguyen, D., Nguyen, S., Phipps-Costin, L., Pinckney, D., Yee, M.-H., Zi, Y., Anderson, C. J., Feldman, M. Q., et al. (2023) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2023.3267446 · Cited by 109 · see citing works
A theory of formal synthesis via inductive learning
Jha, S., & Seshia, S. A. (2017) · Acta Informatica · doi:10.1007/s00236-017-0294-5 · Cited by 107 · see citing works
Self-citationUser Interaction Models for Disambiguation in Programming by Example
Mayer, M., Soares, G., Grechkin, M., Le, V., Marron, M., Polozov, O., Singh, R., Zorn, B. G., & Gulwani, S. (2015) · ACM Symposium on User Interface Software and Technology (UIST) · doi:10.1145/2807442.2807459 · Cited by 96 · see citing works
Self-citationGeneralized Planning in PDDL Domains with Pretrained Large Language Models
Silver, T., Dan, S., Srinivas, K., Tenenbaum, J. B., Kaelbling, L. P., & Katz, M. (2024) · Proceedings of the AAAI Conference on Artificial Intelligence · doi:10.1609/aaai.v38i18.30006 · Cited by 90 · see citing works
Semantic program repair using a reference implementation
Mechtaev, S., Nguyen, M.-D., Noller, Y., Grunske, L., & Roychoudhury, A. (2018) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/3180155.3180247 · Cited by 85 · see citing works
Program synthesis using abstraction refinement
Wang, X., Dillig, I., & Singh, R. (2017) · Proceedings of the ACM on Programming Languages · doi:10.1145/3158151 · Cited by 84 · see citing works
Self-citationOn Reliability of Patch Correctness Assessment
Le, X.-B. D., Bao, L., Lo, D., Xia, X., Li, S., & Păsăreanu, C. S. (2019) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse.2019.00064 · Cited by 84 · see citing works
Probabilistic model for code with decision trees
Raychev, V., Bielik, P., & Vechev, M. (2016) · ACM SIGPLAN Notices · doi:10.1145/3022671.2984041 · Cited by 82 · see citing works
From Invariant Checking to Invariant Inference Using Randomized Search
Sharma, R., & Aiken, A. (2014) · Lecture notes in computer science · doi:10.1007/978-3-319-08867-9_6 · Cited by 81 · see citing works
Synthesizing data structure transformations from input-output examples
Feser, J., Chaudhuri, S., & Dillig, I. (2015) · ACM SIGPLAN Notices · doi:10.1145/2813885.2737977 · Cited by 81 · see citing works
Optimizing synthesis with metasketches
Bornholt, J., Torlak, E., Grossman, D., & Ceze, L. (2016) · ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) · doi:10.1145/2837614.2837666 · Cited by 79 · see citing works
Self-citationAn inductive synthesis framework for verifiable reinforcement learning
Zhu, H., Xiong, Z., Magill, S., & Jagannathan, S. (2019) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/3314221.3314638 · Cited by 79 · see citing works
Phothilimthana, P. M., Thakur, A., Bodík, R., & Dhurjati, D. (2016) · International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) · doi:10.1145/2872362.2872387 · Cited by 78 · see citing works
Accelerating search-based program synthesis using learned probabilistic models
Lee, W., Heo, K., Rajeev Alur, A., & Naik, M. (2018) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/3192366.3192410 · Cited by 78 · see citing works
Overfitting in semantics-based automated program repair
Le, X.-B. D., Thung, F., Lo, D., & Goues, C. L. (2018) · Empirical Software Engineering · doi:10.1007/s10664-017-9577-2 · Cited by 75 · see citing works
AutoPandas: neural-backed generators for program synthesis
Bavishi, R., Lemieux, C., Fox, R., Sen, K., & Stoica, I. (2019) · Proceedings of the ACM on Programming Languages · doi:10.1145/3360594 · Cited by 73 · see citing works
Perelman, D., Gulwani, S., Grossman, D., & Provost, P. (2014) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/2594291.2594297 · Cited by 72 · see citing works
cvc4sy: Smart and Fast Term Enumeration for Syntax-Guided Synthesis
Reynolds, A., Barbosa, H., Nötzli, A., Barrett, C., & Tinelli, C. (2019) · Lecture notes in computer science · doi:10.1007/978-3-030-25543-5_5 · Cited by 68 · see citing works
Synthesis of Masking Countermeasures against Side Channel Attacks
Eldib, H., & Wang, C. (2014) · Lecture notes in computer science · doi:10.1007/978-3-319-08867-9_8 · Cited by 64 · see citing works
Counterexample Guided Inductive Synthesis Modulo Theories
Abate, A., David, C., Kesseli, P., Kroening, D., & Polgreen, E. (2018) · Lecture Notes in Computer Science · doi:10.1007/978-3-319-96145-3_15 · Cited by 53 · see citing works
Instruction-Level Abstraction (ILA)
Huang, B.-Y., Zhang, H., Subramanyan, P., Vizel, Y., Gupta, A., & Malik, S. (2018) · ACM Transactions on Design Automation of Electronic Systems · doi:10.1145/3282444 · Cited by 61 · see citing works
Alloy*: A General-Purpose Higher-Order Relational Constraint Solver
Milicevic, A., Near, J. P., Kang, E., & Jackson, D. N. (2015) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse.2015.77 · Cited by 61 · see citing works
Knowledge Compilation meets Uniform Sampling
Sharma, S., Gupta, R., Roy, S., & Meel, K. S. (2018) · EPiC series in computing · doi:10.29007/h4p9 · Cited by 60 · see citing works
Counterexample-Guided Data Augmentation
Dreossi, T., Ghosh, S., Yue, X., Keutzer, K., Sangiovanni-Vincentelli, A., & Seshia, S. A. (2018) · Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence · doi:10.24963/ijcai.2018/286 · Cited by 60 · see citing works
Self-citationLearning Compositional Rules via Neural Program SynthesisPreprint
Nye, M., Solar-Lezama, A., Tenenbaum, J. B., & Lake, B. M. (2020) · arXiv (Cornell University) · doi:10.48550/arxiv.2003.05562 · Cited by 60 · see citing works
Self-citationMaximal specification synthesis
Albarghouthi, A., Dillig, I., & Gurfinkel, A. (2016) · ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) · doi:10.1145/2837614.2837628 · Cited by 58 · see citing works
Learning invariants using decision trees and implication counterexamples
Garg, P., Neider, D., Madhusudan, P., & Roth, D. (2016) · ACM SIGPLAN Notices · doi:10.1145/2914770.2837664 · Cited by 58 · see citing works
Phothilimthana, P. M., Jelvis, T., Shah, R., Totla, N., Chasins, S., & Bodík, R. (2014) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/2594291.2594339 · Cited by 57 · see citing works
Program synthesis from polymorphic refinement types
Polikarpova, N., Kuraj, I., & Solar-Lezama, A. (2016) · ACM SIGPLAN Notices · doi:10.1145/2980983.2908093 · Cited by 56 · see citing works
Self-citationRajeev Alur, A., Černý, P., & Radhakrishna, A. (2015) · Lecture notes in computer science · doi:10.1007/978-3-319-21668-3_10 · Cited by 54 · see citing works
Transforming spreadsheet data types using examples
Singh, R., & Gulwani, S. (2016) · ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) · doi:10.1145/2837614.2837668 · Cited by 54 · see citing works
Self-citationVerified lifting of stencil computations
Kamil, S. A., Cheung, A., Itzhaky, S., & Solar-Lezama, A. (2016) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/2908080.2908117 · Cited by 54 · see citing works
Self-citationQuantified Invariants via Syntax-Guided Synthesis
Fedyukovich, G., Prabhu, S., Madhukar, K., & Gupta, A. (2019) · Lecture notes in computer science · doi:10.1007/978-3-030-25540-4_14 · Cited by 54 · see citing works
Efficient synthesis of robust models for stochastic systems
Călinescu, R., Češka, M., Gerasimou, S., Kwiatkowska, M., & Paoletti, N. (2018) · Journal of Systems and Software · doi:10.1016/j.jss.2018.05.013 · Cited by 50 · see citing works
Provenance-guided synthesis of Datalog programs
Raghothaman, M., Mendelson, J., Zhao, D., Naik, M., & Scholz, B. (2019) · Proceedings of the ACM on Programming Languages · doi:10.1145/3371130 · Cited by 50 · see citing works
Self-citationSyntax-guided synthesis of Datalog programs
Si, X., Lee, W., Zhang, R., Albarghouthi, A., Koutris, P., & Naik, M. (2018) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/3236024.3236034 · Cited by 49 · see citing works
Synthesizing Datalog Programs using Numerical Relaxation
Si, X., Raghothaman, M., Heo, K., & Naik, M. (2019) · International Joint Conference on Artificial Intelligence · doi:10.24963/ijcai.2019/847 · Cited by 48 · see citing works
Self-citationFlashMeta: a framework for inductive program synthesis
Polozov, O., & Gulwani, S. (2015) · ACM SIGPLAN Notices · doi:10.1145/2858965.2814310 · Cited by 48 · see citing works
Synthesizing highly expressive SQL queries from input-output examples
Wang, C., Cheung, A., & Bodík, R. (2017) · ACM SIGPLAN Notices · doi:10.1145/3140587.3062365 · Cited by 48 · see citing works
Kneuss, E., Koukoutos, M., & Kunčak, V. (2015) · Lecture notes in computer science · doi:10.1007/978-3-319-21668-3_13 · Cited by 48 · see citing works
The three pillars of machine programming
Gottschlich, J., Solar-Lezama, A., Tatbul, N., Carbin, M., Rinard, M., Barzilay, R., Amarasinghe, S. P., Tenenbaum, J. B., & Mattson, T. (2018) · ACM SIGPLAN International Workshop on Machine Learning and Programming Languages (MAPL) · doi:10.1145/3211346.3211355 · Cited by 47 · see citing works
Self-citationHOUDINI: Lifelong Learning as Program SynthesisPreprint
Valkov, L., Chaudhari, D., Srivastava, A., Sutton, C. A., & Chaudhuri, S. (2018) · arXiv (Cornell University) · doi:10.48550/arxiv.1804.00218 · Cited by 47 · see citing works
Robust controller synthesis of switched systems using counterexample guided framework
Ravanbakhsh, H., & Sankaranarayanan, S. (2016) · ACM International Conference on Embedded Software (EMSOFT) · doi:10.1145/2968478.2968485 · Cited by 46 · see citing works
Sampling invariants from frequency distributions
Fedyukovich, G., Kaufman, S. J., & Bodík, R. (2017) · Formal Methods in Computer-Aided Design · doi:10.23919/fmcad.2017.8102247 · Cited by 46 · see citing works
Structuring the synthesis of heap-manipulating programs
Polikarpova, N., & Sergey, I. (2019) · Proceedings of the ACM on Programming Languages · doi:10.1145/3290385 · Cited by 46 · see citing works
Program sketching with live bidirectional evaluation
Lubin, J. P., Collins, N., Omar, C., & Chugh, R. (2020) · Proceedings of the ACM on Programming Languages · doi:10.1145/3408991 · Cited by 46 · see citing works
Fully Autonomous Programming with Large Language Models
Liventsev, V., Grishina, A., Härmä, A., & Moonen, L. (2023) · Proceedings of the Genetic and Evolutionary Computation Conference · doi:10.1145/3583131.3590481 · Cited by 45 · see citing works
Solving Constrained Horn Clauses Using Syntax and Data
Fedyukovich, G., Prabhu, S., Madhukar, K., & Gupta, A. (2018) · Formal Methods in Computer-Aided Design · doi:10.23919/fmcad.2018.8603011 · Cited by 45 · see citing works
Tortoise: Interactive system configuration repair
Weiss, A., Guha, A., & Brun, Y. (2017) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase.2017.8115673 · Cited by 44 · see citing works
Clover: Closed-Loop Verifiable Code Generation
Sun, C., Sheng, Y., Padon, O., & Barrett, C. (2024) · Lecture Notes in Computer Science · doi:10.1007/978-3-031-65112-0_7 · Cited by 43 · see citing works
Revisiting Enumerative Instantiation
Reynolds, A., Barbosa, H., & Fontaine, P. (2018) · Lecture notes in computer science · doi:10.1007/978-3-319-89963-3_7 · Cited by 43 · see citing works
Code2Inv: A Deep Learning Framework for Program Verification
Si, X., Naik, A., Dai, H., Naik, M., & Song, L. (2020) · Lecture notes in computer science · doi:10.1007/978-3-030-53291-8_9 · Cited by 43 · see citing works
Test-Equivalence Analysis for Automatic Patch Generation
Mechtaev, S., Gao, X., Tan, S. H., & Roychoudhury, A. (2018) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3241980 · Cited by 42 · see citing works
Porcupine: a synthesizing compiler for vectorized homomorphic encryption
Cowan, M., Dangwal, D., Alaghi, A., Trippel, C., Lee, V. T., & Reagen, B. (2021) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/3453483.3454050 · Cited by 41 · see citing works
Automated patch backporting in Linux (experience paper)
Shariffdeen, R., Gao, X., Duck, G. J., Tan, S. H., Lawall, J., & Roychoudhury, A. (2021) · ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) · doi:10.1145/3460319.3464821 · Cited by 40 · see citing works
Programming not only by example
Peleg, H., Shoham, S., & Yahav, E. (2018) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/3180155.3180189 · Cited by 40 · see citing works
Template-based circuit understanding
Gascón, A., Subramanyan, P., Dutertre, B., Tiwari, A., Jovanović, D., & Malik, S. (2014) · Formal Methods in Computer-Aided Design · doi:10.1109/fmcad.2014.6987599 · Cited by 39 · see citing works
Program synthesis using conflict-driven learning
Feng, Y., Martins, R., Bastani, O., & Dillig, I. (2018) · ACM SIGPLAN Notices · doi:10.1145/3296979.3192382 · Cited by 39 · see citing works
Interpretable classification of time-series data using efficient enumerative techniques
Mohammadinejad, S., Deshmukh, J. V., Puranic, A. G., Vazquez-Chanlatte, M., & Donzé, A. (2020) · International Conference on Hybrid Systems: computation and control · doi:10.1145/3365365.3382218 · Cited by 39 · see citing works
Verifix: Verified Repair of Programming Assignments
Ahmed, U. Z., Fan, Z., Yi, J., Al-Bataineh, O. I., & Roychoudhury, A. (2022) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3510418 · Cited by 33 · see citing works
Learning SMT(LRA) Constraints using SMT Solvers
Kolb, S., Teso, S., Passerini, A., & Raedt, L. D. (2018) · International Joint Conference on Artificial Intelligence · doi:10.24963/ijcai.2018/323 · Cited by 38 · see citing works
A review of generalized planning
Jiménez, S., Segovia‐Aguas, J., & Jönsson, A. (2019) · The Knowledge Engineering Review · doi:10.1017/s0269888918000231 · Cited by 38 · see citing works
Ranking LLM-Generated Loop Invariants for Program Verification
Chakraborty, S., Lahiri, S., Fakhoury, S., Lal, A., Musuvathi, M., Rastogi, A., Senthilnathan, A., Sharma, R., & Swamy, N. (2023) · Findings of the Association for Computational Linguistics: EMNLP 2023 · doi:10.18653/v1/2023.findings-emnlp.614 · Cited by 37 · see citing works
Synthesis of Fault Attacks on Cryptographic Implementations
Barthe, G., Dupressoir, F., Fouque, P.-A., Grégoire, B., & Zapalowicz, J.-C. (2014) · ACM SIGSAC Conference on Computer and Communications Security (CCS) · doi:10.1145/2660267.2660304 · Cited by 37 · see citing works
From invariant checking to invariant inference using randomized search
Sharma, R., & Aiken, A. (2016) · Formal Methods in System Design · doi:10.1007/s10703-016-0248-5 · Cited by 37 · see citing works
Programming by Examples: PL Meets ML
Gulwani, S., & Jain, P. (2017) · Lecture notes in computer science · doi:10.1007/978-3-319-71237-6_1 · Cited by 37 · see citing works
Bayesian synthesis of probabilistic programs for automatic data modeling
Saad, F. A., Cusumano-Towner, M., Schaechtle, U., Rinard, M., & Mansinghka, V. K. (2019) · DSpace@MIT (Massachusetts Institute of Technology) · Cited by 37 · see citing works
Exploring True Test Overfitting in Dynamic Automated Program Repair using Formal Methods
Nilizadeh, A., Leavens, G. T., Le, X.-B. D., Păsăreanu, C. S., & Cok, D. R. (2021) · IEEE International Conference on Software Testing, Verification and Validation (ICST) · doi:10.1109/icst49551.2021.00033 · Cited by 37 · see citing works
Combining Induction, Deduction, and Structure for Verification and Synthesis
Seshia, S. A. (2015) · Proceedings of the IEEE · doi:10.1109/jproc.2015.2471838 · Cited by 34 · see citing works
Self-citationSyGuS-Comp 2017: Results and Analysis
Rajeev Alur, A., Fisman, D., Singh, R., & Solar-Lezama, A. (2017) · Electronic Proceedings in Theoretical Computer Science · doi:10.4204/eptcs.260.9 · Cited by 36 · see citing works
Self-citationKim, J., Hu, Q., D'Antoni, L., & Reps, T. (2021) · Proceedings of the ACM on Programming Languages · doi:10.1145/3434311 · Cited by 36 · see citing works
- 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
- green
- hdl.handle.net
- 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