Combinatorial sketching for finite programs
University of California, Berkeley · Berkeley College
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 support for sketching. Finite programs include many highperformance kernels, including cryptocodes. In contrast to prior synthesizers, which had to be equipped with domain-specific rules, SKETCH…
Citation impact
- FWCI
- 8.37
- Percentile
- 100%
- References
- 20
Authors
5- ASArmando Solar-LezamaCorresponding
University of California, Berkeley, Berkeley College
- LTLiviu Tancau
Berkeley College, University of California, Berkeley
- RBRastislav Bodík
Berkeley College, University of California, Berkeley
- SASanjit A. Seshia
Berkeley College, University of California, Berkeley
- VSVijay Saraswat
Topics & keywords
- Computer science
- Programming language
- Theoretical computer science