Synthesis + X

Frameworks

  1. Semantics-Guided Synthesis. Kim et al.
  2. Growing Solver-Aided Languages with Rosette. Torlak et al.
  3. Program sketching. Solar-Lezama et al.
  4. Syntax-guided synthesis. Alur et al.

Architecture

  1. Synthesizing memory models from framework sketches and Litmus tests. Bornholt et al.
  2. Swizzle Inventor: Data Movement Synthesis for GPU Kernels. Phothilimthana et al.
  3. Chlorophyll: synthesis-aided compiler for low-power spatial architectures. Phothilimthana et al.
  4. DSAGEN: Synthesizing Programmable Spatial Accelerators. Weng et al.

Compilers

  1. Semantic code search via equational reasoning. Premonton et al.
  2. Learning Syntactic Program Transformations from Examples Rolim et al.
  3. Scaling up Superoptimization. Phothilimthana et al.
  4. Synthesis of loop-free programs. Gulwani et al.

Databases

  1. Data Migration using Datalog Program Synthesis. Wang et al.
  2. Synthesizing database programs for schema refactoring. Wang et al.
  3. SQLizer: query synthesis from natural language. Yaghmazadeh et al.
  4. Synthesizing highly expressive SQL queries from input-output examples (Wang et al)
  5. Synthesizing Entity Matching Rules by Examples. Singh et al.

Education

  1. Synthesizing interpretable strategies for solving puzzle games. Butler et al.
  2. sk_p: a neural program corrector for MOOCs. Pu et al.
  3. Synthesis of Problems for Shaded Area Geometry Reasoning. Alvin et al.
  4. Writing Reusable Code Feedback at Scale with Mixed-Initiative Program Synthesis. Head et al.

Graphics

  1. InverseCSG: automatic conversion of 3D models to CSG trees. Du et al.
  2. Learning to Infer Graphics Programs from Hand-Drawn Images. Ellis et al.
  3. Synthesizing structured CAD models with equality saturation and inverse transformations. Nandi et al.

Human-Computer Interaction (HCI)

  1. Small-Step Live Programming by Example. Ferdowsifard et al.
  2. Interactive Program Synthesis by Augmented Examples. Zhang et al.
  3. Rousillon: Scraping Distributed Hierarchical Web Data. Chasins et al.

Machine Learning

  1. RobustFill: Neural Program Learning under Noisy I/O. Devlin et al.
  2. Synthesizing Programmatic Policies that Inductively Generalize. Inala et al.
  3. Programmatically Interpretable Reinforcement Learning. Verma et al.
  4. HOUDINI: Lifelong Learning as Program Synthesis. Valkov et al.

Networks

  1. Synthesis of Fault-Tolerant Distributed Router Configurations. Subramanian et al.
  2. Genesis: synthesizing forwarding tables in multi-tenant networks. Subramanian et al.
  3. Learning Network Design Objectives Using A Program Synthesis Approach. Wang et al.

Natural Language Processing (NLP)

  1. Multi-modal synthesis of regular expressions. Chen et al.
  2. SQLizer: query synthesis from natural language. Yaghmazadeh et al.
  3. Program synthesis using natural language. Desai et al.

Robotics

  1. Synthesis for Robots: Guarantees and Feedback for Robot Behavior. Kress-Gazit et al.
  2. SMT-based synthesis of integrated task and motion plans from plan outlines. Nedunuri et al.
  3. Bodystorming Human-Robot Interactions. Porfirio et al.

Security / Crypto

  1. Precise Attack Synthesis for Smart Contracts. Feng et al.
  2. Synthesis of Super-Optimized Smart Contracts Using Max-SMT. Albert et al.
  3. Automated Synthesis of Semantic Malware Signatures using Maximum Satisfiability. Feng et al.
  4. Synthesis of fault-attack countermeasures for cryptographic circuits. Eldib et al.
  5. Syntia: Synthesizing the Semantics of Obfuscated Code. Blazytko et al.
  6. Look for the Proof to Find the Program: Decorated-Component-Based Program Synthesis. Gascon et al.

Software Engineering

  1. Component-based synthesis for complex APIs. Feng et al.
  2. FrAngel: Component-Based Synthesis with Control Structures. Shi et al.
  3. Automatic repair of regular expressions. Pan et al.
  4. Angelix: Scalable Multiline Program Patch Synthesis via Symbolic Analysis
  5. S3: Syntax- and Semantic-Guided Repair Synthesis via Programming by Examples. Le et al.
  6. AutoPandas: neural-backed generators for program synthesis. Bavishi et al.

Systems

  1. Synthesizing JIT Compilers for In-Kernel DSLs. Van Geffen et al.
  2. Hamsaz: replication coordination analysis and synthesis. Houshmand et al.
  3. TASO: Optimizing Deep Learning Computation with Automatic Generation of Graph Substitutions. Jia et al.

Theory

  1. Exact and Approximate Methods for Proing Unrealizability of SyGuS Problems. Hu et al.
  2. Decidable Synthesis of Programs with Uninterpreted Functions. Krogmeier et al.
  3. Efficient Synthesis with Probabilistic Constraints. Drews et al.

Visualization

  1. Sketch-n-sketch. Chugh et al.
  2. Visualization by example. Wang et al.