paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Program analysis using WALA (tutorial)

使用 WALA 进行程序分析(教程)
FSE Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering2022匹配度 4/10 · 该论文是 WALA 静态分析框架的教程,涵盖污点分析和代码机器学习图应用,与程序分析工程实现有基础关联;但作为教程缺乏新方法、基准与问题驱动,且未涉及 LLM/Agent、浮点或贝叶斯程序分析等核心方向。引用 6 inbox
Joanna C. S. Santos, Julian Dolby
crossref: 2026-09-12

AI 速览

一句话:介绍如何使用 WALA 框架实现多语言程序静态分析,并演示污点分析与代码机器学习图应用。

静态分析广泛用于故障定位、漏洞检测、代码克隆识别、重构和优化等任务,但自行实现静态分析器并非易事,因此工程师常借助现有框架。本教程围绕 IBM T.J. Watson Libraries for Analysis(WALA)介绍程序分析的实践方法。教程首先梳理理解相关算法与技术实现所需的背景知识,随后概述 WALA 框架及其对 Java 字节码、JavaScript、Android、Python 等多语言和框架代码的分析支持,并通过多个现场演示展示如何基于 WALA 实现客户端分析。演示重点覆盖两类常见用途:安全分析中的污点分析,以及利用分析图进行代码的机器学习。

问题
实现静态分析器是一项非平凡任务,研究和工程实践常依赖已有框架来快速构建分析技术。
方法
教程先介绍必要的背景知识,再概述 WALA 框架及其对 Java 字节码、JavaScript、Android、Python 等多语言和框架代码的分析支持,并通过现场演示讲解如何实现客户端分析。
评估
作为教程,以现场演示展示 WALA 在污点分析与基于分析图进行代码机器学习两类常见任务中的用法;不涉及系统性实证评估。
原文摘要(Abstract)

Static analysis is widely used in research and practice for multiple purposes such as fault localization, vulnerability detection, code clone identification, code refactoring, optimization, etc. Since implementing static analyzers is a non-trivial task, engineers often rely on existing frameworks to implement their techniques. The IBM T.J. Watson Libraries for Analysis (WALA) is one of such frameworks that allows the analysis of multiple environments, such as Java bytecode (and related languages), JavaScript, Android, Python, etc. In this tutorial, we walk through the process of using WALA for program analysis. First, the tutorial will cover all the required background knowledge that is necessary to understand the technical implementation details of the explained algorithms and techniques. Subsequently, we provide a technical overview of the WALA framework and its support for analysis of multiple programming languages and frameworks code. Then, we will do several live demonstration of using WALA to implement client analyses. We will focus on two common uses of analysis: a form of security analysis, taint analysis, and on using analysis graphs for machine learning of code.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot7067,
  title = {Program analysis using WALA (tutorial)},
  author = {Joanna C. S. Santos and Julian Dolby},
  booktitle = {FSE},
  year = {2022},
  doi = {10.1145/3540250.3569449}
}