基于抽象解释的数据泄漏静态分析
摘要:机器学习中存在一个众所周知的问题,即数据泄露。当在训练数据集之外使用信息创建模型时,就会发生数据泄露。这种现象使模型在现实世界中过于乐观甚至无用,因为模型往往会过度依赖不公平获得的信息。迄今为止,检测数据泄露是通过运行时方法进行的。然而,由于数据泄露的隐蔽性,数据科学家可能不会意识到一开始就发生了数据泄露。出于这个原因,在开发生命周期的早期尽早检测数据泄露是有优势的。在本文中,我们提出了一种新颖的静态分析方法,在开发过程中检测出多个数据泄露的实例。我们使用抽象解释的框架定义了我们的分析:我们定义了一个完备且不偏不倚的具体语义,从中推导出一个准确可计算的抽象语义。我们在开源的NBLyzer静态分析框架中实施了我们的静态分析,并通过在2000多个Kaggle竞赛笔记本上评估其性能和准确性来展示其效用。
作者:Filip Drobnjakovi''c, Pavle Suboti''c, and Caterina Urban
论文ID:2211.16073
分类:Programming Languages
分类简称:cs.PL
提交时间:2022-11-30