paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Incremental Program Synthesis from Event Logs

从事件日志中进行增量式程序合成
OOPSLA 10(OOPSLA2)2026匹配度 3/10 · 论文属于程序合成方向,与用户的 PL 背景有较弱关联,但未涉及静态分析、Agentic/LLM 程序分析、浮点程序分析或贝叶斯程序分析等核心研究问题;仅在日志驱动脚本合成上使用 LLM 作为对比基线,并非用户重点关注的方向。引用 0 inbox
Jinwoo Kim, Victor Nicolet, Joey Dodds, Loris D'Antoni
crossref: 2026-10-02

AI 速览

一句话:提出增量式合成算法,从系统自动收集的事件日志中合成 API 调用自动化脚本,并实现工具 LogLoom。

程序合成的目标是让非专家通过规约而非实现来编写程序,但规约本身应无需专业知识且易于获得。本文研究仅从系统自动收集的事件日志中合成自动化脚本的问题。作者提出一种增量式合成算法:每次用一条日志事件序列所例示的行为来扩展 API 调用脚本,并最小化每步对程序的修改,以保留用户意图并合成尽可能通用的程序。该算法实现为工具 LogLoom。在 72 个基准上,LogLoom 合成的脚本有 60 个与参考解完全一致,而现有符号方法仅 14 个、LLM 为 39 个;LogLoom 还能处理比已有技术更多轨迹和更复杂的程序。

问题
如何让非专家用户无需编写代码,仅从系统自动收集的大规模事件日志中合成自动化脚本,并保证方法能扩展到大量日志与复杂程序。
方法
提出增量式合成算法,每次用一条日志事件序列扩展 API 调用脚本,并通过最小化程序修改来保留用户意图、生成尽可能通用的程序;实现为工具 LogLoom。
评估
在 72 个基准上与参考解对比,LogLoom 在 60 个基准上合成出完全一致的脚本,优于现有符号方法(14 个)和 LLM(39 个),并可处理更多轨迹与更复杂程序。
原文摘要(Abstract)

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.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot12109,
  title = {Incremental Program Synthesis from Event Logs},
  author = {Jinwoo Kim and Victor Nicolet and Joey Dodds and Loris D'Antoni},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {OOPSLA2},
  year = {2026},
  doi = {10.1145/3839460}
}