Incremental Program Synthesis from Event Logs
Jinwoo Kim, Victor Nicolet, Joey Dodds, Loris D'Antoni
摘要
The goal of program synthesis is to enable non-expert users to write programs by providing a specification instead of an implementation. To truly realize this goal, the specification must require no expertise and no effort to generate. We consider the problem of synthesizing automation scripts from only the logs that are automatically collected by many systems. Using our approach, users can automate tasks they usually perform manually, without having to know how to program them. Because logs are collected automatically, the synthesis approach needs to scale to large sets of logs. We present a new algorithm to solve this task by incrementally extending an API-calling script with behavior exemplified by a sequence of log events, adding one sequence at a time. By minimizing the program modifications at each step, we preserve user intent and synthesize a program as general as possible. We show that our approach, implemented in a tool LogLoom, scales to synthesis tasks with more traces and more complex programs than existing techniques. LogLoom synthesizes scripts that are identical to reference solutions for 60 out of 72 benchmarks, compared to 14 for an existing symbolic approach and 39 for an LLM.
问问这篇 Paper
问问你的智能体。
Lune 读过与它相关的顶会 Paper,每个回答都会注明依据哪几篇。
相关 Paper
- Program Synthesis from Partial TracesMargarida Ferreira, Victor Nicolet, Joey Dodds, Daniel KroeningPLDI 2025 · 被引用 2 次
- DiLogics: Creating Web Automation Programs with Diverse LogicsKevin Pu, Jim Yang, Angel Yuan, Minyi Ma 等UIST 2023 · 被引用 5 次
- Programming-by-Demonstration for Long-Horizon Robot TasksNoah Patton, Kia Rahmani, Meghana Missula, Joydeep Biswas 等POPL 2024 · 被引用 11 次
- Exploring the Learnability of Program Synthesizers by Novice ProgrammersDhanya Jayagopal, Justin Lubin, Sarah E. ChasinsUIST 2022 · 被引用 40 次
- Synthesizing SpecificationsKanghee Park, Loris D'Antoni, Thomas W. RepsOOPSLA 2023 · 被引用 9 次
