一句话:深入探究现代 Java 应用去臃肿问题,指出现有技术多依赖纯静态分析,未适配动态语言特性。
现代软件因功能不断累积而日益臃肿,许多功能在演化后不再被使用,却仍消耗额外资源,因此自动去臃肿是长期难题。自20世纪90年代末以来,研究者已提出多种去臃肿技术,但其中许多建立在纯静态分析之上,尚未在现代 Java 应用这一动态语言特性普遍的场景中得到扩展和评估。本文 JShrink 针对这一空白,对现代 Java 应用的去臃肿展开深入研究,关注动态语言特性给分析、裁剪与评估带来的挑战,并探讨现有方法在该场景下的适用性。摘要未报告具体方法细节、实验设置或关键结果。
Modern software is bloated. Demand for new functionality has led developers to include more and more features, many of which become unneeded or unused as software evolves. This phenomenon, known as software bloat, results in software consuming more resources than it otherwise needs to. How to effectively and automatically debloat software is a long-standing problem in software engineering. Various debloating techniques have been proposed since the late 1990s. However, many of these techniques are built upon pure static analysis and have yet to be extended and evaluated in the context of modern Java applications where dynamic language features are prevalent.
@inproceedings{paperbot5713,
title = {JShrink: in-depth investigation into debloating modern Java applications},
author = {Bobby R. Bruce and Tianyi Zhang and Jaspreet Arora and Guoqing Harry Xu and Miryung Kim},
booktitle = {FSE},
year = {2020},
doi = {10.1145/3368089.3409738}
}