skip to main content
Dec 2020 software

Software artifact for paper: Semantics-Guided Synthesis

Description

This artifact is the software repository for the 2021 POPL paper ‘Semantics-Guided Synthesis’. It consists of the tool Messy described in the paper, which converts SemGuS problems into solvable CHCs, as well as the benchmarks used in the paper.

This version of the tool is a prototype, and does not contain a separate front-end; SemGuS problems and benchmarks are written in our own DSL.


Assets

Read Me (popl21main-p195-p-Artifact-accepted-readme.txt)
Artifact (popl21main-p195-p-Artifact-accepted.zip)

Instructions

General Installation

Software Dependencies:

This artifact requires the following dependencies: Scala sbt

To solve the generated benchmarks and run tests, we also recommend installing python and z3.

General Installation:

Download the repository and install the dependencies.

Starting from the folder containing ‘build.sbt’, run ‘sbt compile’ to compile the source code, and ‘sbt test’ to generate the test scripts.

A single run of ‘sbt test’ should suffice to replicate the VM settings described in README.md.

Other Instructions:

Please see README.md.

Experimental Installation

Installation:

Please see README.md.


Provenance

The source code for this project has been written from scratch by the authors. Benchmarks for the project have been derived from a number of previous sources, including:

“Syntax-Guided Synthesis” (https://github.com/SyGuS-Org/benchmarks) “Exact and Approximate Methods for Proving Unrealizability of Syntax-Guided Synthesis Problems” “Synthesizing Regular Expressions from Examples for Introductory Automata Assignments” (https://github.com/kupl/AlphaRegexPublic) “Synthesizing Imperative Programs from Examples Guided by Static Analysis” (https://github.com/kupl/SimplPublic)


License


Comments