Javascript must be enabled to continue!
Synbit: synthesizing bidirectional programs using unidirectional sketches
View through CrossRef
AbstractWe propose a technique for synthesizing bidirectional programs from the corresponding unidirectional code plus input/output examples. The core ideas are: (1) constructing a sketch using the given unidirectional program as a specification, and (2) filling the sketch in a modular fashion by exploiting the properties of bidirectional programs. These ideas are enabled by our choice of programming language, HOBiT, which is specifically designed to maintain the unidirectional program structure in bidirectional programming, and keep the parts that control bidirectional behavior modular. To evaluate our approach, we implemented it in a tool called Synbit and used it to generate bidirectional programs for intricate microbenchmarks, as well as for a few larger, more realistic problems. We also compared Synbit to a state-of-the-art unidirectional synthesis tool on the task of synthesizing backward computations. This is an extended version of the paper “Synbit: Synthesizing Bidirectional Programs using Unidirectional Sketches”, published at OOPSLA 2021. In addition to the OOPSLA’21 paper, this journal will contain additional formalization and detailed examples.
Springer Science and Business Media LLC
Title: Synbit: synthesizing bidirectional programs using unidirectional sketches
Description:
AbstractWe propose a technique for synthesizing bidirectional programs from the corresponding unidirectional code plus input/output examples.
The core ideas are: (1) constructing a sketch using the given unidirectional program as a specification, and (2) filling the sketch in a modular fashion by exploiting the properties of bidirectional programs.
These ideas are enabled by our choice of programming language, HOBiT, which is specifically designed to maintain the unidirectional program structure in bidirectional programming, and keep the parts that control bidirectional behavior modular.
To evaluate our approach, we implemented it in a tool called Synbit and used it to generate bidirectional programs for intricate microbenchmarks, as well as for a few larger, more realistic problems.
We also compared Synbit to a state-of-the-art unidirectional synthesis tool on the task of synthesizing backward computations.
This is an extended version of the paper “Synbit: Synthesizing Bidirectional Programs using Unidirectional Sketches”, published at OOPSLA 2021.
In addition to the OOPSLA’21 paper, this journal will contain additional formalization and detailed examples.
Related Results
Synbit: synthesizing bidirectional programs using unidirectional sketches
Synbit: synthesizing bidirectional programs using unidirectional sketches
We propose a technique for synthesizing bidirectional programs from the corresponding unidirectional code plus a few input/output examples. The core ideas are: (1) constructing a s...
The Women Who Don’t Get Counted
The Women Who Don’t Get Counted
Photo by Hédi Benyounes on Unsplash
ABSTRACT
The current incarceration facilities for the growing number of women are depriving expecting mothers of adequate care cruci...
Poster 155: The Prevalence of “Pipelining” at the Top Orthopaedic Sports Medicine Fellowship Programs
Poster 155: The Prevalence of “Pipelining” at the Top Orthopaedic Sports Medicine Fellowship Programs
Objectives: The term “pipelining” refers to the phenomenon that applicants from certain residency programs frequently match at the same fellowship programs. However, it is unclear ...
Bidirectional, unlike unidirectional transport, allows transporting axonal cargos against their concentration gradient
Bidirectional, unlike unidirectional transport, allows transporting axonal cargos against their concentration gradient
AbstractEven though most axonal cargos are synthesized in the soma, the concentration of many of these cargos is larger at the presynaptic terminal than in the soma. This requires ...
Leveraging crystal-scale data to constrain the conduit flow regime in persistently active volcanoes
Leveraging crystal-scale data to constrain the conduit flow regime in persistently active volcanoes
<p>Persistently active volcanoes are often closely monitored, yielding a rich archive of observational data. The availability of varied observations provides a unique...
Heat Transfer Enhancement Using Unidirectional Porous Media under High Heat Flux Conditions
Heat Transfer Enhancement Using Unidirectional Porous Media under High Heat Flux Conditions
In this chapter, new heat transfer enhancement technologies with unidirectional porous metal called “EVAPORON” and “Lotus’ Breathing” are introduced to remove and manage heat from ...
Broadband unidirectional surface plasmon polaritons with low loss
Broadband unidirectional surface plasmon polaritons with low loss
Unidirectional surface plasmon polaritons (SPPs) have been proven to truly exist at an interface between a magnetized semiconductor and an opaque isotropic material, however, they ...
A Twin Unidirectional Impulse Turbine With Fluidic Diode for Wave Energy Conversion
A Twin Unidirectional Impulse Turbine With Fluidic Diode for Wave Energy Conversion
As an air turbine equipped with oscillating water column (OWC) based wave energy plant, a rectification-valve system has been invented to date. However, this turbine system has pro...

