paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Training Binary Classifiers as Data Structure Invariants

将二元分类器训练为数据结构不变式
ICSE 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)2019匹配度 4/10 · 该论文用神经网络分类器学习数据结构不变式,属于机器学习用于程序分析/不变式检测的方向,与用户“AI→PL”兴趣有间接关联;但它不涉及 LLM/Agent、静态分析 ML/Agentic 程序、浮点程序分析或贝叶斯程序分析,与当前研究画像的核心问题距离较远。引用 21 inbox
Facundo Molina, Renzo Degiovanni, Pablo Ponzio, German Regis, Nazareno Aguirre, Marcelo Frias
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:用神经网络二元分类器学习数据结构合法性不变式,替代动态不变式检测,提升合法/非法对象判别与缺陷发现能力。

该论文提出一种区分数据结构对象合法与非法实例的技术。其核心思想是构建人工神经网络(具体为二元分类器),并将其训练用于识别数据结构的合法与非法实例;训练完成后,所得分类器可代替数据结构的不变式,用于发现操纵该结构的程序中的(不)正确行为。为生成训练所需的合法对象,作者随机执行一组假定正确的对象构建例程;非法实例则通过为对象字段赋值来构造,即赋予那些在产生合法实例的假定正确执行中从未被观察到可行的字段值。作者在数据结构基准上进行了实验评估,结果表明该学习技术生成的分类器在合法/非法对象分类准确率上显著优于一种动态不变式检测技术,并带来了更好的缺陷发现效果。

问题
如何自动获得能准确区分数据结构合法与非法实例的不变式,以替代传统动态不变式检测来发现程序缺陷。
方法
随机执行假定正确的对象构建例程以收集合法实例,再用未在合法执行中出现的不可行字段值构造非法实例,据此训练一个二元神经网络分类器作为数据结构不变式。
评估
在数据结构基准上进行实验,比较分类器与动态不变式检测技术的合法/非法分类准确率,并评估其对缺陷发现的影响。
原文摘要(Abstract)

We present a technique to distinguish valid from invalid data structure objects. The technique is based on building an artificial neural network, more precisely a binary classifier, and training it to identify valid and invalid instances of a data structure. The obtained classifier can then be used in place of the data structure's invariant, in order to attempt to identify (in)correct behaviors in programs manipulating the structure. In order to produce the valid objects to train the network, an assumed-correct set of object building routines is randomly executed. Invalid instances are produced by generating values for object fields that "break" the collected valid values, i.e., that assign values to object fields that have not been observed as feasible in the assumed-correct executions that led to the collected valid instances. We experimentally assess this approach, over a benchmark of data structures. We show that this learning technique produces classifiers that achieve significantly better accuracy in classifying valid/invalid objects compared to a technique for dynamic invariant detection, and leads to improved bug finding.

链接与引用

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

BibTeX
@inproceedings{MolinaDPRAF19,
  title = {Training Binary Classifiers as Data Structure Invariants},
  author = {Facundo Molina and Renzo Degiovanni and Pablo Ponzio and German Regis and Nazareno Aguirre and Marcelo Frias},
  booktitle = {ICSE},
  year = {2019},
  doi = {10.1109/icse.2019.00084}
}