Divide-and-Conquer Algorithms for Synthesis
This project aims to produce more efficient algorithms for program synthesis using techniques that decompose the task at hand into simpler tasks. Here, instances of the program synthesis problem are solved by finding smaller sub-solutions…
Quantitative Specifications for Reactive Systems
In this project, we attempt to construct a quantitative specification framework for analysis of reactive systems. Our framework is built on a novel notion called simulation distances. A simulation distance measures some aspect of “match”…
Performance-aware Synthesis for Concurrency
Usable concurrency synthesis has been a long-standing goal, with over three decades of active research going into it. Here, a programmer is expected to write a program that is correct in a sequential context, and…
PROSE Framework
Microsoft PROSE SDK is a framework of technologies for programming by examples: automatic generation of programs from input-output examples.
ICSE20 Gulwani Most Influential Paper Award Speech
Sumit Gulwani talks about the past 11 years of his journey at Microsoft, developing various usable program synthesis technologies and the role that this ICSE 2010 paper played in that journey.
PROSE – Text Splitting
Split.Text is a system for splitting data in plain text format, where there may be multiple fields that need to be separated into different columns.
PROSE – Pattern Inspector
Matching.Text automatically identifies different formats and patterns in string data.
PROSE – Json Transformation
Transformation.Json transforms the structure of Json using input/output examples.
PROSE – Text Transformation
Transformation.Text is a system that performs string transformations using examples allowing for many tasks involving strings to be performed automatically.