paperbot · PL 论文追踪

全部论文 待读 收藏

P1 Program Analysis for Adaptive Data Analysis

面向自适应数据分析的程序分析
PLDI 8(PLDI)2024匹配度 6/10 · 论文将自适应性形式化为程序的量化性质,并用加权依赖图与路径搜索做静态分析,属于“程序分析×机器学习/数据分析”的交叉,且有形式化与实现;但其研究对象是自适应数据分析而非 LLM/Agentic 程序、浮点程序分析或贝叶斯程序分析,也不涉及用 LLM 改进静态分析,因此与当前核心方向部分匹配。引用 2 inbox
Jiawen Liu, Weihao Qu, Marco Gaboardi, Deepak Garg, Jonathan Ullman
dblp: 2026-09-10crossref: 2026-09-10arxiv: 2026-09-10

AI 速览

一句话:将自适应性形式化为程序量化性质,并用加权依赖图分析近似其上界,以辅助选择泛化误差控制技术。

自适应数据分析中,后续查询依赖先前结果,单次查询的泛化误差会沿查询链传播并放大,而选择何种误差控制技术取决于分析的自适应程度。本文将类似 while 的自适应数据分析建模为程序,把“自适应性”形式化为一种程序量化性质;进而提出一种程序分析,构造加权依赖图,其中边权为变量可被到达次数的上界,并通过路径搜索给出自适应性上界。作者实现了该分析,并在若干具有不同自适应结构的实际数据分析上演示其能有效分析自适应性,从而辅助选择控制泛化误差的技术。

问题
自适应数据分析中查询相互依赖会导致泛化误差传播和累积,而误差控制技术的选择依赖分析的自适应程度,但缺乏对程序化自适应性的量化与自动推断。
方法
将自适应数据分析视为 while 类程序,形式化自适应性的量化定义,并设计程序分析:构造加权依赖图(权为变量可达次数的上界),通过路径搜索得到自适应性上界。
评估
实现了该程序分析,并对多个具有不同自适应结构的具体数据分析进行案例分析,表明其可帮助分析自适应性和选择误差控制技术。
原文摘要(Abstract)

Data analyses are usually designed to identify some property of the population from which the data are drawn, generalizing beyond the specific data sample. For this reason, data analyses are often designed in a way that guarantees that they produce a low generalization error. That is, they are designed so that the result of a data analysis run on a sample data does not differ too much from the result one would achieve by running the analysis over the entire population. An adaptive data analysis can be seen as a process composed by multiple queries interrogating some data, where the choice of which query to run next may rely on the results of previous queries. The generalization error of each individual query/analysis can be controlled by using an array of well-established statistical techniques. However, when queries are arbitrarily composed, the different errors can propagate through the chain of different queries and bring to a high generalization error. To address this issue, data analysts are designing several techniques that not only guarantee bounds on the generalization errors of single queries, but that also guarantee bounds on the generalization error of the composed analyses. The choice of which of these techniques to use, often depends on the chain of queries that an adaptive data analysis can generate. In this work, we consider adaptive data analyses implemented as while-like programs and we design a program analysis which can help with identifying which technique to use to control their generalization errors. More specifically, we formalize the intuitive notion of adaptivity as a quantitative property of programs. We do this because the adaptivity level of a data analysis is a key measure to choose the right technique. Based on this definition, we design a program analysis for soundly approximating this quantity. The program analysis generates a representation of the data analysis as a weighted dependency graph, where the weight is an upper bound on the number of times each variable can be reached, and uses a path search strategy to guarantee an upper bound on the adaptivity. We implement our program analysis and show that it can help to analyze the adaptivity of several concrete data analyses with different adaptivity structures.

链接与引用

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

BibTeX
@article{LiuQGGU24,
  title = {Program Analysis for Adaptive Data Analysis},
  author = {Jiawen Liu and Weihao Qu and Marco Gaboardi and Deepak Garg and Jonathan Ullman},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {PLDI},
  year = {2024},
  doi = {10.1145/3656414}
}