paperbot · PL 论文追踪

全部论文 待读 收藏

P2 WebJShrink: a web service for debloating Java bytecode

WebJShrink:面向 Java 字节码去臃肿的 Web 服务
FSE Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2020匹配度 2/10 · 该论文属于纯程序分析与软件去膨胀工具,使用静态/动态可达性分析与可视化,不涉及 LLM/Agentic 程序、浮点程序分析或贝叶斯程序分析,因此与用户核心研究方向仅有很弱的 PL/静态分析关联。引用 10 inbox
Konner Macias, Mihir Mathur, Bobby R. Bruce, Tianyi Zhang, Miryung Kim
crossref: 2026-09-12

AI 速览

一句话:提出可视化分析工具 WebJShrink,基于 JShrink 定位并删除 Java 项目未用特性,并用单元测试验证行为保持。

软件项目日益复杂,常包含未充分利用的库而变得臃肿。现有去臃肿工具难以让开发者了解库的使用不足程度,也难以确信去臃肿后的行为保持。为此,作者提出 WebJShrink,一个分析和裁剪臃肿 Java 项目的可视化分析服务。它基于 JShrink,利用静态与动态可达性分析定位内部臃肿,提供丰富可视化,删除未使用特性并返回更安全、更精简的软件变体。为展示行为保持,工具用 JUnit 测试检查去臃肿后的软件并可视化结果。在 26 个真实系统上评估,WebJShrink 最多缩减 42% 体积,平均 11%,且去臃肿后仍通过 100% 单元测试。

问题
软件项目因包含未充分利用的库而臃肿,现有去臃肿工具缺乏对使用不足程度的洞察,也不帮助开发者确信行为保持。
方法
WebJShrink 基于 JShrink 的静态与动态可达性分析,提供可视化并删除未使用特性,同时用 JUnit 测试展示去臃肿后行为保持。
评估
在 26 个真实系统上评估,体积最多减少 42%、平均 11%,且去臃肿后 100% 单元测试通过。
原文摘要(Abstract)

As software projects grow in complexity, they come packaged with under-utilized libraries and therefore become bloated. Though several software debloating tools exist, none of them help developers gain insights into how under-utilized those libraries are nor help developers build confidence in the behavior preservation of software after debloating. To bridge this gap, we developed WebJShrink, a visual analytics tool for analyzing and pruning bloated software projects. WebJShrink is built on JShrink which uses static and dynamic reachability analysis to determine the extent of software bloat. WebJShrink provides rich visualizations of the bloat lurking within a target project's internal structure. It then removes unused features, and returns a safer, slimmer variant of the software project. To illustrate the target project's behavior preservation, WebJShrink examines the debloated software with its JUnit tests and visualizes the test results. In evaluating WebJShrink against 26 real world systems, we found WebJShrink could reduce software size by up to 42%, 11% on average, while still passing 100% of unit tests after debloating. We provide a video demonstrating WebJShrink at https://youtu.be/yzVzcd-MJ1w.

链接与引用

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

BibTeX
@inproceedings{paperbot5738,
  title = {WebJShrink: a web service for debloating Java bytecode},
  author = {Konner Macias and Mihir Mathur and Bobby R. Bruce and Tianyi Zhang and Miryung Kim},
  booktitle = {FSE},
  year = {2020},
  doi = {10.1145/3368089.3417934}
}