Storyboard Programming aims to provide programmers a natural and intuitive platform for developing low-level data structure implementations from intuitive high-level graphical insights. When developing data-structures, programmers usually use "box-and-arrows" diagrams on a whiteboard to develop an intuition for their behavior, and then translate this intuition into low-level code using a painful and error-prone process. Storyboard programming framework provides programmers a platform to provide these whiteboard graphical insights and the framework synthesizes a low-level implementation conforming to the graphical insights.

The Storyboard framework lets programmer specify their insights such as the one shown below on the left for the Tree-rotation manipulation and the framework synthesizes the low level code as shown below on the right.




rotation code

Support: This research is supported by the National Science Foundation (NSF) grant CCF-1049406 and by MIT's Computer Science and Articial Intelligence Lab (CSAIL). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.