Thu 20 Jul 2023 14:00 - 14:15 at Habib Classroom (Gates G01) - ECOOP 5: Synthesis Chair(s): Karine Even-Mendoza

Type-directed component-based program synthesis is the task of automatically building a function with applications of available components and whose type matches a given goal type. Existing approaches to component-based synthesis, based on classical proof search, cannot deal with large sets of components. Recently, Hoogle+, a component-based synthesizer for Haskell, overcomes this issue by reducing the search problem to a Petri-net reachability problem. However, Hoogle+ cannot synthesize constants nor $\lambda$-abstractions, which limits the problems that it can solve. We present Hoogle$\star$, an extension to Hoogle+ that brings constants and $\lambda$-abstractions to the search space, in two independent steps. First, we introduce the notion of wildcard component, a component that matches all types. This enables the algorithm to produce \textit{incomplete functions}, i.e., functions containing occurrences of the wildcard component. Second, we complete those functions, by replacing each occurrence with constants or custom-defined $\lambda$-abstractions. We have chosen to find constants by means of an inference algorithm: we present a new unification algorithm based on symbolic execution that uses the input-output examples supplied by the user to compute substitutions for the occurrences of the wildcard. When compared to Hoogle+, Hoogle$\star$ can solve more kinds of problems, especially problems that require the generation of constants and $\lambda$-abstractions, without performance degradation.

Thu 20 Jul

Displayed time zone: Pacific Time (US & Canada) change

13:30 - 15:00
ECOOP 5: SynthesisResearch Papers at Habib Classroom (Gates G01)
Chair(s): Karine Even-Mendoza King’s College London
13:30
15m
Talk
Synthesis-Aided Crash Consistency for Storage Systems
Research Papers
Jacob Van Geffen Veridise Inc., James Bornholt University of Texas at Austin, Emina Torlak Amazon Web Services and University of Washington, Xi Wang University of Washington
DOI
13:45
15m
Talk
Synthesizing Conjunctive Queries for Code Search
Research Papers
Chengpeng Wang Hong Kong University of Science and Technology, Peisen Yao Zhejing University, Wensheng Tang Hong Kong University of Science and Technology, Gang Fan Ant Group, Charles Zhang Hong Kong University of Science and Technology
DOI
14:00
15m
Talk
Hoogle⋆: Constants and λ-abstractions in Petri-net-based Synthesis using Symbolic Execution
Research Papers
Henrique Botelho Guerra INESC-ID and IST, University of Lisbon, João F. Ferreira INESC-ID and IST, University of Lisbon, João Costa Seco NOVA-LINCS; Nova University of Lisbon
DOI
14:15
15m
Talk
Building Code Transpilers for Domain-Specific Languages Using Program Synthesis
Research Papers
Sahil Bhatia University of California, Berkeley, Sumer Kohli UC Berkeley, Sanjit Seshia UC Berkeley, Alvin Cheung University of California at Berkeley
DOI
14:30
15m
Talk
Do Machine Learning Models Produce TypeScript Types that Type Check?
Research Papers
Ming-Ho Yee Northeastern University, Arjun Guha Northeastern University and Roblox Research
DOI Media Attached File Attached
14:45
15m
Talk
Toward Tool-Independent Summaries for Symbolic Execution
Research Papers
Frederico Ramos Instituto Superior Técnico, Nuno Sabino Instituto Superior Técnico, Carnegie Mellon University, Pedro Adão IST-ULisboa and Instituto de Telecomunicações, David Naumann Stevens Institute of Technology, José Fragoso Santos INESC-ID/Instituto Superior Técnico, Portugal
DOI