Sketch is a popular program synthesis tool that solves for unknowns in a sketch or partial program. However, while Sketch is powerful, it does not directly support modular synthesis of dependencies, potentially limiting scalability. In this paper, we introduce Sketcham, a new technique that modularizes a regular sketch by automatically generating mocks—functions that approximate the behavior of complete implementations—from the sketch’s test suite. For example, if the function f originally calls g, Sketcham creates a mock gm from g’s tests and augments the sketch with a version of f that calls gm. This change allows the unknowns in f and g to be solved separately, enabling modular synthesis with no extra work from the Sketch user. We evalua...
It is a viable alternative to automatically generate Java source code based on the specification pro...
Thesis (Ph.D.)--University of Washington, 2015Program synthesis is a family of techniques that gener...
In order to develop design and decision support techniques in the early sketch design phases, weshou...
This is a distribution of Sketcham, a modular extension to the Sketch synthesis system, along with o...
Sketching is a software synthesis approach where the programmer develops a partial implementation — ...
Sketching is a synthesis methodology that aims to bridge the gap between a programmer’s high-level i...
One problem with the constraint-based approaches to synthesis that have become popular over the last...
During testing, there are several reasons to exclude some of the components used by the unit under t...
AbstractWe describe a program called SketchIT that transforms a single sketch of a mechanical device...
The last few years have seen much progress in two related but traditionally disjoint areas of resear...
Program synthesis tools work by searching for an implementation that satisfies a given specification...
K-12 mathematics includes many procedures to be learned, such as addition and subtraction, and there...
After the initial enthusiasm of the ’70s and ’80s abated, the topic of program synthesis is now bein...
This paper introduces the concept of programming with sketches, an approach for the rapid developmen...
Program synthesis is a promising area of research concerned with automatically producing program imp...
It is a viable alternative to automatically generate Java source code based on the specification pro...
Thesis (Ph.D.)--University of Washington, 2015Program synthesis is a family of techniques that gener...
In order to develop design and decision support techniques in the early sketch design phases, weshou...
This is a distribution of Sketcham, a modular extension to the Sketch synthesis system, along with o...
Sketching is a software synthesis approach where the programmer develops a partial implementation — ...
Sketching is a synthesis methodology that aims to bridge the gap between a programmer’s high-level i...
One problem with the constraint-based approaches to synthesis that have become popular over the last...
During testing, there are several reasons to exclude some of the components used by the unit under t...
AbstractWe describe a program called SketchIT that transforms a single sketch of a mechanical device...
The last few years have seen much progress in two related but traditionally disjoint areas of resear...
Program synthesis tools work by searching for an implementation that satisfies a given specification...
K-12 mathematics includes many procedures to be learned, such as addition and subtraction, and there...
After the initial enthusiasm of the ’70s and ’80s abated, the topic of program synthesis is now bein...
This paper introduces the concept of programming with sketches, an approach for the rapid developmen...
Program synthesis is a promising area of research concerned with automatically producing program imp...
It is a viable alternative to automatically generate Java source code based on the specification pro...
Thesis (Ph.D.)--University of Washington, 2015Program synthesis is a family of techniques that gener...
In order to develop design and decision support techniques in the early sketch design phases, weshou...