paper-with-me

Papers

Learning a Static Analyzer from Data

2016-11-06 · Pavol Bielik, Veselin Raychev, Martin Vechev

To be practically useful, modern static analyzers must precisely model the effect of both, statements in the programming language as well as frameworks used by the program under analysis. While important, manually addressing these challenges is difficult for at least two reasons: (i) the effects on the overall analysis can be non-trivial, and (ii) as the size and complexity of modern libraries increase, so is the number of cases the analysis must handle. In this paper we present a new, automated approach for creating static analyzers: instead of manually providing the various inference rules of the analyzer, the key idea is to learn these rules from a dataset of programs. Our method consists of two ingredients: (i) a synthesis algorithm capable of learning a candidate analyzer from a given dataset, and (ii) a counter-example guided learning procedure which generates new programs beyond those in the initial dataset, critical for discovering corner cases and ensuring the learned analysis generalizes to unseen programs. We implemented and instantiated our approach to the task of learning JavaScript static analysis rules for a subset of points-to analysis and for allocation sites analysis. These are challenging yet important problems that have received significant research attention. We show that our approach is effective: our system automatically discovered practical and useful inference rules for many cases that are tricky to manually identify and are missed by state-of-the-art, manually tuned analyzers.

📄 PDF Abstract BibTeX arXiv:1611.01752

Code (0)

등록된 구현이 없습니다.

Similar Papers 제목 키워드 기반

KNighter: Transforming Static Analysis with LLM-Synthesized Checkers

2025-03-12 · Chenyuan Yang, Zijie Zhao, Zichen Xie, Haoyu Li 외

Static analysis is a powerful technique for bug detection in critical systems like operating system kernels. However, designing and implementing static analyzers is challenging, time-consuming, and typically limited to p…

IntelliSA: An Intelligent Static Analyzer for IaC Security Smell Detection Using Symbolic Rules and Neural Inference

2026-01-21 · Qiyue Mei, Michael Fu arxiv

Infrastructure as Code (IaC) enables automated provisioning of large-scale cloud and on-premise environments, reducing the need for repetitive manual setup. However, this automation is a double-edged sword: a single misc…

Knowledge Distillation

Pynblint: a Static Analyzer for Python Jupyter Notebooks

2022-05-24 · Luigi Quaranta, Fabio Calefato, Filippo Lanubile

Jupyter Notebook is the tool of choice of many data scientists in the early stages of ML workflows. The notebook format, however, has been criticized for inducing bad programming practices; indeed, researchers have alrea…

Learning a Static Bug Finder from Data

2019-07-12 · Yu Wang, Fengjuan Gao, Linzhang Wang, Ke Wang

We present an alternative approach to creating static bug finders. Instead of relying on human expertise, we utilize deep neural networks to train static analyzers directly from data. In particular, we frame the problem …

Graph Neural Network

A Static Analyzer for Detecting Tensor Shape Errors in Deep Neural Network Training Code

2021-12-16 · Ho Young Jhoo, Sehoon Kim, Woosung Song, Kyuyeon Park 외

We present an automatic static analyzer PyTea that detects tensor-shape errors in PyTorch code. The tensor-shape error is critical in the deep neural net code; much of the training cost and intermediate results are to be…