paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Sip4J: Statically Inferring Access Permission Contracts for Parallelising Sequential Java Programs

Sip4J:静态推断访问权限契约以并行化顺序 Java 程序
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019匹配度 3/10 · 论文属于程序分析与静态分析,且强调跨过程分析和工程实现,但研究对象是 Java 顺序程序的访问权限契约推断与并行化,未涉及 ML/Agentic 程序、LLM 与静态分析结合、浮点程序分析或贝叶斯程序分析等画像核心方向。引用 2 inbox
Ayesha Sadiq, Li Li, Yuan-Fang Li, Ijaz Ahmed, Sea Ling
crossref: 2026-09-12

AI 速览

一句话:提出 Sip4J,通过跨过程静态分析自动推断 Java 访问权限契约,识别可并发方法以并行化顺序程序。

访问权限契约可描述代码块之间的依赖关系,常被用于支持顺序程序的并发执行,但通常需要程序员手工编写,耗时费力且容易出错。为减少人工负担,Sip4J 对顺序 Java 源代码进行跨过程静态分析,自动提取程序中的隐式依赖,并依据 Design by Contract 原则自动生成访问权限契约;随后利用推断出的规约识别程序中的并发(不可变)方法。实验结果表明,Sip4J 能有效为顺序 Java 程序生成访问权限契约,有助于实现并行化。该工具已开源,并提供了演示视频。

问题
顺序 Java 程序的访问权限契约通常需手工编写,耗时、费力且易错,从而阻碍其并行化。
方法
Sip4J 对 Java 源码进行跨过程静态分析以提取隐式依赖,并按 Design by Contract 原则自动生成访问权限契约,再用这些规约识别并发(不可变)方法。
评估
通过实验展示 Sip4J 为顺序 Java 程序生成访问权限契约的有用性与有效性,并将实现开源发布。
原文摘要(Abstract)

This paper presents Sip4J, a fully automated, scalable and effective tool to automatically generate access permission contracts for a sequential Java program. The access permission contracts, which represent the dependency of code blocks, have been frequently used to enable concurrent execution of sequential programs. Those permission contracts, unfortunately, need to be manually created by programmers, which is known to be time-consuming, laborious and error-prone. To mitigate those manual efforts, Sip4J performs inter-procedural static analysis of Java source code to automatically extract the implicit dependencies in the program and subsequently leverages them to automatically generate access permission contracts, following the Design by Contract principle. The inferred specifications are then used to identify the concurrent (immutable) methods in the program. Experimental results further show that Sip4J is useful and effective towards generating access permission contracts for sequential Java programs. The implementation of Sip4J has been published as an open-sourced project at https://github.com/Sip4J/Sip4J and a demo video of Sip4J can be found at https://youtu.be/RjMTIxlhHTg.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5281,
  title = {Sip4J: Statically Inferring Access Permission Contracts for Parallelising Sequential Java Programs},
  author = {Ayesha Sadiq and Li Li and Yuan-Fang Li and Ijaz Ahmed and Sea Ling},
  booktitle = {ASE},
  year = {2019},
  doi = {10.1109/ase.2019.00111}
}