Proactive Synthesis of Recursive Tree-to-String Functions from Examples (Artifact)

Authors Mikaël Mayer, Jad Hamza, Viktor Kuncak



PDF
Thumbnail PDF

Artifact Description

DARTS.3.2.16.pdf
  • Filesize: 358 kB
  • 2 pages

Document Identifiers

Author Details

Mikaël Mayer
Jad Hamza
Viktor Kuncak

Cite As Get BibTex

Mikaël Mayer, Jad Hamza, and Viktor Kuncak. Proactive Synthesis of Recursive Tree-to-String Functions from Examples (Artifact). In Special Issue of the 31st European Conference on Object-Oriented Programming (ECOOP 2017). Dagstuhl Artifacts Series (DARTS), Volume 3, Issue 2, pp. 16:1-16:2, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2017) https://doi.org/10.4230/DARTS.3.2.16

Artifact

  MD5 Sum: 930966950860a59c2783101e1fcfc59e (Get MD5 Sum)

Abstract

This artifact, named Prosy, is an interactive command-line tool for synthesizing recursive tree-to-string functions (e.g. pretty-printers) from examples. Specifically, Prosy takes as input a Scala file containing a hierarchy of abstract and case classes, and synthesizes the printing function after interacting with the user. Prosy first pro-actively generates a finite set of trees such that their string representations uniquely determine the function to synthesize. While asking the output for each example, Prosy prunes away questions when it can infer their answers from previous answers. In the companion paper, we prove that this pruning allows Prosy not to require that the user provides answers to the entire set of questions, which is of size O(n^3) where n is the size of the input file, but only to a reasonably small subset of size O(n). Furthermore, Prosy guides the interaction by providing suggestions whenever it can.

Subject Classification

Keywords
  • programming by example
  • active learning
  • program synthesis

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail