• Home
  • Search
  • Synthesizing data structure transformations from input-output examples
  • Open Access IconOpen Access
  • Cite Icon120
  • https://doi.org/10.1145/2813885.2737977Copy DOI Icon

Synthesizing data structure transformations from input-output examples

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

We present a method for example-guided synthesis of functional programs over recursive data structures. Given a set of input-output examples, our method synthesizes a program in a functional language with higher-order combinators like map and fold. The synthesized program is guaranteed to be the simplest program in the language to fit the examples. Our approach combines three technical ideas: inductive generalization, deduction, and enumerative search. First, we generalize the input-output examples into hypotheses about the structure of the target program. For each hypothesis, we use deduction to infer new input/output examples for the missing subexpressions. This leads to a new subproblem where the goal is to synthesize expressions within each hypothesis. Since not every hypothesis can be realized into a program that fits the examples, we use a combination of best-first enumeration and deduction to search for a hypothesis that meets our needs. We have implemented our method in a tool called λ2, and we evaluate this tool on a large set of synthesis problems involving lists, trees, and nested data structures. The experiments demonstrate the scalability and broad scope of λ2. A highlight is the synthesis of a program believed to be the world's earliest functional pearl.

Similar Papers
  • PDF
  • Research Article
  • Citations1

Neural-Guided Inductive Synthesis of Functional Programs on List Manipulation by Offline Supervised Learning

  • Jan 01, 2021
  • IEEE Access
  • Yuhong Wang +1
  • Conference Article
  • Citations258

Dimensions in program synthesis

  • Jul 26, 2010
  • Sumit Gulwani
  • PDF
  • Research Article
  • Citations5

Inductive Program Synthesis Guided by Observational Program Similarity

  • Oct 16, 2023
  • Proceedings of the ACM on Programming Languages
  • Jack Feser +2
  • Conference Article
  • Citations22

Inductive program synthesis over noisy data

  • Nov 08, 2020
  • Shivam Handa +1
  • Conference Article
  • Citations214

Type-and-example-directed program synthesis

  • Jun 03, 2015
  • Peter-Michael Osera +1
  • Research Article
  • Citations4

Verification by Reduction to Functional Programs

  • Jan 01, 2017
  • Infoscience (Ecole Polytechnique Fédérale de Lausanne)
  • Régis Blanc
  • Conference Article
  • Citations11

High-level Programming via Generalized Planning and LTL Synthesis

  • Jul 01, 2020
  • Blai Bonet +4
  • Research Article
  • Citations8

AP: Artificial Programming

  • Jun 06, 2017
  • DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
  • Rishabh Singh +1
  • PDF
  • Conference Article
  • Citations14

Optimal Neural Program Synthesis from Multimodal Specifications

  • Jan 01, 2021
  • Xi Ye +3
  • Video Transcripts

Sample-efficient Linguistic Generalizations through Program Synthesis: Experiments with Phonology Problems

  • Jul 22, 2021
  • Underline Science Inc.
  • Dipti Sharma +3
  • Conference Article
  • Citations33

An analytical inductive functional programming system that avoids unintended programs

  • Jan 23, 2012
  • Susumu Katayama
  • Research Article

GENESYS: A novel evolutionary program synthesis tool with continuous optimization

  • Nov 13, 2025
  • ACM Transactions on Probabilistic Machine Learning
  • Shantanu Mandal +4
  • Research Article
  • Citations1

PARAMETER-DRIVEN GENERATION OF EVALUATION PROGRAM FOR A NEUROEVOLUTION ALGORITHM ON A BINARY MULTIPLEXER EXAMPLE

  • Feb 26, 2023
  • Radio Electronics Computer Science Control
  • A Yu Doroshenko +2
  • PDF
  • Research Article
  • Citations2

Equivalence by Canonicalization for Synthesis-Backed Refactoring

  • Jun 20, 2024
  • Proceedings of the ACM on Programming Languages
  • Justin Lubin +4
  • PDF
  • Research Article
  • Citations14

Inductive Program Synthesis via Iterative Forward-Backward Abstract Interpretation

  • Jun 06, 2023
  • Proceedings of the ACM on Programming Languages
  • Yongho Yoon +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.