Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems 2006
DOI: 10.1145/1168857.1168907
|View full text |Cite
|
Sign up to set email alerts
|

Combinatorial sketching for finite programs

Abstract: Sketching is a software synthesis approach where the programmer develops a partial implementation -a sketch -and a separate specification of the desired functionality. The synthesizer then completes the sketch to behave like the specification. The correctness of the synthesized implementation is guaranteed by the compiler, which allows, among other benefits, rapid development of highly tuned implementations without the fear of introducing bugs.We develop SKETCH, a language for finite programs with linguistic s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
116
0

Year Published

2017
2017
2023
2023

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 412 publications
(116 citation statements)
references
References 12 publications
0
116
0
Order By: Relevance
“…Solving Horn clauses with uninterpreted functions is closely connected to sketching-based program synthesis problems [Solar-Lezama et al 2006], where we want to find substitutions for holes in a program to ensure that the whole program satisfies a target property. One could reformulate our problem of solving Horn clauses with uninterpreted functions as solving a program synthesis problem, and, e.g., use the template-based technique of Srivastava et al [2010] to find an inductive invariant and a coupling strategy.…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations
“…Solving Horn clauses with uninterpreted functions is closely connected to sketching-based program synthesis problems [Solar-Lezama et al 2006], where we want to find substitutions for holes in a program to ensure that the whole program satisfies a target property. One could reformulate our problem of solving Horn clauses with uninterpreted functions as solving a program synthesis problem, and, e.g., use the template-based technique of Srivastava et al [2010] to find an inductive invariant and a coupling strategy.…”
Section: Related Workmentioning
confidence: 99%
“…One could reformulate our problem of solving Horn clauses with uninterpreted functions as solving a program synthesis problem, and, e.g., use the template-based technique of Srivastava et al [2010] to find an inductive invariant and a coupling strategy. In our implementation, we used a synthesizeand-verify loop, a methodology that has appeared in different guises, for example, in the Sketch synthesizer [Solar-Lezama et al 2006] and the e-hsf Horn-clause solver [Beyene et al 2013].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…These techniques achieve efficiency by ruling out large sets of possible programs without exploring them one-by-one, usually by discovering that particular sub-structures can never be part of a correct solution [3,28,52,57,75]. The second class involves symbolic search techniques, where the entire program space is represented symbolically, either using a special purpose representation [32,58], or, in the case of constraint-based synthesis, by reducing it to a set of constraints whose solution can be mapped to a concrete program, which can be solved using a SAT or SMT solver [33,72,74], or in some cases a numerical optimization procedure [17].…”
Section: Program Synthesismentioning
confidence: 99%
“…This demonstrates that the convergence rate of learning in Counterexample-Guided Inductive Synthesis [e.g. Jha et al 2010;Jha and Seshia 2017;Solar-Lezama et al 2006] depends on the form of examples. We also establish impossibility results for directly applying algorithms from concept learning to invariant inference.…”
Section: Introductionmentioning
confidence: 99%