[pl-seminar] Two talks (1 today/1 tomorrow)


Date: Mon, 30 Apr 2018 09:24:34 -0500
From: "Loris D'Antoni" <loris@xxxxxxxxxxx>
Subject: [pl-seminar] Two talks (1 today/1 tomorrow)
We have two talks fromÂGustavo Soares and Arjun RadhakirshnaÂtoday and tomorrow.
Today it's a technical talk, tomorrow is a mini-workshop on the meta-synthesizer Prose from Microsoft.

--------
Monday (2 pm in CS3310)

PBE for Data Wrangling: From program synthesis to intent disambiguation

Â

Programming by Examples (PBE) is a technique in which a user specifies the

desired behaviour of a program as a set of input-output examples, and the

synthesizer automatically generates a program that is consistent with the

input-output examples. PBE is an especially useful technique in the domain of

data wrangling and providing input-output examples for data wrangling tasks is

significantly easier than manually writing the programs.

Â

Research in this area has mainly been focused on solving the main PBE problem

of finding a single program consistent with the input-output examples.

Here, we highlight a different aspect of PBE: the "intent-disambiguation

problem", i.e., the problem of finding which of the many programs consistent

with the examples actually correspond to the user intent. We discuss some recent

approaches to this problem, and the practicalities of using PBE in an industrial

setting.

Â

Gustavoâs Bio:

GustavoÂis a Researcher in the PROSE team. Previously, he was an Assistant Professor

in the Department of Computing and Systems at the Federal University of Campina

Grande (UFCG), Brazil, and worked as a postdoc at UC Berkeley with Bjoern Hartmann.

He completed his PhD at UFCG under supervision of Rohit Gheyi in 2014.ÂGustavoâs research

interests include program synthesis, HCI, and software engineering. In the PROSE Team, his

currently focused on developing techniques to perform tree transformations by example.

Â

Arjunâs Bio:

ArjunÂis interested in the use of Formal Methods and Program Synthesis techniques to aid

programmers in designing reliable and correct systems.ÂArjunÂgraduated with a PhD from

IST Austria in 2014, advised by Thomas A. Henzinger. His dissertation on the use of quantitative

techniques in formal verification and synthesis was awarded the ACM SIGBED Paul Caspi

Dissertation Award in recognition of an outstanding doctoral dissertation that significantly

advances the state of the art in the science of embedded systems. During his stint as a

Post-doctoral Researcher in the group of Rajeev Alur at the University of Pennsylvania,

he developed novel divide-and-conquer program synthesis strategies. Syntax-guided

Synthesis SyGuS solvers based on these strategies have won the SyGuS competition for

two years running.



--------

Tuesday 11-4 (CS1240) PROSE: Learning Programs from Examples

Program synthesis is the task of automatically ïnding a program in the underlying programming language that satisïes the user intent expressed

in the form of some speciïcation. Since the inception of AI in the 1950s,

this problem has been considered the holy grail of Computer Science.

Despite inherent challenges in the problem such as ambiguity of user intent

and a typically enormous search space of programs, the ïeld of program

synthesis has developed many diïerent techniques that enable program

synthesis in diïerent real-life application domains. In this workshop, we will

present the Microsoft PROSE SDK, a framework of technologies for programming

by examples. PROSE has been used to create program-by-example technologies

for different Microsoft products such as Excel, Powershell, Azure ML, and SQL

Management Studio. A short demo showing the latest PROSE-based applications

can be found atÂhttps://microsoft.github.io/prose/demo/prose-showcase.mp4.

In the first part of this workshop, Arjun Radhakrishna will

give a research talk about the underlying PROSE technology. In the second part

of the workshop, Gustavo Soares will conduct a hands-on tutorial where he

will teach how to build programming-by-example solutions using PROSE.

Â

---------------------------------------------------------------

Tuesday, May 1, 11-12:15 am.ÂPROSE Overview

---------------------------------------------------------------

The first part of the tutorial will consist of a 20 min talk where we will

introduce program synthesis and present the main components of the

PROSE framework.

We will use PROSE to build a synthesizer that learns string transformation

tasks from examples similar to the FlashFill feature in Excel (see the

FlashFill demo atÂhttps://www.youtube.com/watch?v=qHkgJFJR5cM). This will be

a hands-on tutorial where everyone will have a chance to try to build a synthesizer

in their one machines. Instructions to install and configure PROSE for the tutorial

can be found atÂhttps://github.com/Microsoft/prose/tree/master/DslAuthoringTutorial.

In this part of the tutorial, we will teach how to specify the syntax and semantics

of the DSL and the synthesis algorithms for synthesizing programs in this DSL

from examples.

-------------------------------------------------------------

Tuesday, May 1, Afternoon 12.15-5 pm. Hands-on Tutorial

---------------------------------------------------------------

In the afternoon, we will continue to build our synthesizer by adding more powerful

components such as a ranking system to disambiguate programs that satisfy all examples

and new DSL operators to improve the expressivity of our string transformation language.


[← Prev in Thread] Current Thread [Next in Thread→]
  • [pl-seminar] Two talks (1 today/1 tomorrow), Loris D'Antoni <=