Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Softw 2020
DOI: 10.1145/3368089.3409738
|View full text |Cite
|
Sign up to set email alerts
|

JShrink: in-depth investigation into debloating modern Java applications

Abstract: 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 pu… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
19
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
3
2
2

Relationship

1
6

Authors

Journals

citations
Cited by 34 publications
(19 citation statements)
references
References 73 publications
0
19
0
Order By: Relevance
“…Our technical research paper on JShrink [3] presents comprehensive comparative evaluation against existing debloating tools, JRed [6], Jax [10], and ProGuard [1]. Here, we summarize our evaluation results briely.…”
Section: Evaluation Resultsmentioning
confidence: 99%
See 3 more Smart Citations
“…Our technical research paper on JShrink [3] presents comprehensive comparative evaluation against existing debloating tools, JRed [6], Jax [10], and ProGuard [1]. Here, we summarize our evaluation results briely.…”
Section: Evaluation Resultsmentioning
confidence: 99%
“…JShrink eliminates unused methods by extending Soot's bytecode transformation APIs [11] to erase methods entirely, their method bodies, or by replacing their method bodies with an exception throw to indicate the removal of a method. While JShrink support four kinds of debloating transformations ('method removal', 'method inlining', 'ield removal', and 'class hierarchy collapsing'), WebJShrink's visual interface focuses on 'method removal' as it is the most efective in terms of size reduction [3]. If 'checkpointing' is enabled in WebJShrink, testfailure inducing transformations are reversed to ensure debloating safety.…”
Section: Methodsmentioning
confidence: 99%
See 2 more Smart Citations
“…This guarantees that the application preserves the behavior described by the test-suite. We leave to future work to compare such a debloater to tools such as the seminal Jax [27] and more recent debloaters such as JShrink [2], TamiFlex [1], ProGuard [7], JRed [10], and BlankIt [20].…”
Section: Related Workmentioning
confidence: 99%