JShrink is an end-to-end bytecode debloating framework that reduces software bloat in modern Java applications by combining static analysis with dynamic profiling.
JShrink: In-depth Investigation into Debloating Modern Java Applications (FSE 2020)
JShrink is designed for developers and researchers aiming to reduce unnecessary code and resource consumption in Java applications by automatically removing unused bytecode. It is particularly useful for improving application efficiency and robustness while preserving behavior in complex, modern Java programs that use dynamic language features.
JShrink requires integration with Java bytecode and test suites to evaluate behavior preservation; it is research-focused and may require familiarity with Java bytecode analysis and profiling techniques. No explicit installation or usage commands are provided in the repository README.