Microsoft Program Synthesis using Examples SDK

A framework for automatic programming or data wrangling from input-output examples.

Latest version: 7.13.1

Program Synthesis SDK

Microsoft PROSE SDK is a framework of technologies for programming by examples: automatic generation of programs from input-output examples.

Given a domain-specific language (DSL) and input-output examples for the desired program’s behavior, PROSE synthesizes a ranked set of DSL programs that are consistent with the examples.

Data Wrangling DSLs

PROSE SDK includes a pre-defined suite of technologies for various kinds of data wrangling – cleaning and pre-processing raw semi-structure data into a form amenable to analysis:

  • Flash Fill, a technology for text transformation by examples, available in Microsoft Excel and PowerShell.
  • Data extraction from text files by examples, available in PowerShell and Azure Log Analytics.
  • Data extraction and transformation of JSON by examples.
  • Predictive file splitting technology, which splits a text file into the structured columns without any examples.


1. Install Visual Studio ( ) or Visual Studio Code ( ).
2. Install .NET Framework or .NET Core.
3. Build on top of our DSLs on NuGet.
Install-Package Microsoft.ProgramSynthesis
Install-Package Microsoft.ProgramSynthesis.Compiler
using Microsoft.ProgramSynthesis.Extraction.Text;

Getting Started


A step-by-step walkthrough of the process of building a DSL in PROSE and enabling program synthesis for it.

API & Samples

If you want to apply an existing PROSE DSL, check out its documentation on the left and our samples.


This section contains our slides and publications. Also, if you have any questions, feel free to email us or open an issue on GitHub.