paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Active Learning for Inference and Regeneration of Applications that Access Databases

主动学习用于访问数据库应用的推断与再生成
TOPLAS 42(4)2020匹配度 3/10 · 论文属于PL与机器学习交叉下的主动学习程序推断与再生成,涉及DSL和程序合成,但与用户核心关注的静态分析、LLM/Agent交叉、浮点程序分析或贝叶斯程序分析没有直接关系,也未使用LLM或Agent。引用 7 inbox
Jiasi Shen, Martin C. Rinard
dblp: 2026-09-10crossref: 2026-09-10

AI 速览

一句话:提出 Konure,用主动学习推断访问关系数据库的应用模型,并将模型再生成带安全检查的 Python 实现。

论文提出 Konure,用于推断并再生成访问关系数据库的应用。此类应用的行为常依赖数据库内容与查询流量,仅凭代码难以理解或迁移。Konure 定义一个领域特定语言,每个模型即该语言程序;其推断算法采用主动学习,自动生成输入和数据库内容,运行原应用并观察数据库访问流量与输出,逐步精化当前模型假设。由于只依赖外部可观测的输入、输出和数据库内容,该方法可处理任意语言和编码风格的应用,只要其行为可用该 DSL 表达。Konure 还提供再生器,将推断模型翻译为 Python 实现,并系统性地加入相关安全与错误检查。

问题
如何在不依赖源码细节的情况下,推断访问关系数据库应用的行为,并生成可维护且安全的实现。
方法
定义领域特定语言来表示应用模型,采用主动学习生成输入与数据库内容、运行原应用并观察数据库流量和输出,迭代精化模型;再通过再生器将模型翻译为 Python 实现并加入安全与错误检查。
评估
论文以能否从外部可观测的输入、输出和数据库内容推断模型,并再生出带安全与错误检查的 Python 实现来展示方法;摘要未报告具体实验数据。
原文摘要(Abstract)

We present K onure , a new system that uses active learning to infer models of applications that retrieve data from relational databases. K onure comprises a domain-specific language (each model is a program in this language) and associated inference algorithm that infers models of applications whose behavior can be expressed in this language. The inference algorithm generates inputs and database contents, runs the application, then observes the resulting database traffic and outputs to progressively refine its current model hypothesis. Because the technique works with only externally observable inputs, outputs, and database contents, it can infer the behavior of applications written in arbitrary languages using arbitrary coding styles (as long as the behavior of the application is expressible in the domain-specific language). K onure also implements a regenerator that produces a translated Python implementation of the application that systematically includes relevant security and error checks.

链接与引用

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

BibTeX
@article{ShenR21,
  title = {Active Learning for Inference and Regeneration of Applications that Access Databases},
  author = {Jiasi Shen and Martin C. Rinard},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {42},
  number = {4},
  year = {2020},
  doi = {10.1145/3430952}
}