---
_id: '66614'
abstract:
- lang: eng
  text: 'Modern software development reuses code by importing libraries as dependencies.
    Software projects typically include an average of 36 dependencies, with 80% being
    transitive, meaning they are dependencies of dependencies. Recent research indicates
    that only 24.9% of these dependencies are required at runtime, and even within
    those, many program constructs remain unused, adding unnecessary code to the project.
    This has led to the development of debloating tools that remove unnecessary dependencies
    and program constructs while balancing precision by eliminating unused constructs
    and soundness by preserving all required constructs. To systematically evaluate
    this trade-off, we developed Deblometer, a micro-benchmark consisting of 59 test
    cases designed to assess support for various Java language features in debloating
    tools. Each test case includes a manually curated ground truth specifying necessary
    and bloated classes, methods, and fields, enabling precise measurement of soundness
    and precision. Using Deblometer, we evaluated three popular Java debloating tools:
    Deptrim, JShrink, and ProGuard. Our evaluation reveals that all tools remove required
    program constructs, which results in changed semantics or execution crashes. In
    particular, the dynamic class loading feature introduces unsoundness in all evaluated
    tools. Our comparison shows that Deptrim retains more bloated constructs, while
    ProGuard removes more required constructs. JShrink’s soundness is significantly
    affected by limited support for annotations, which leads to corrupted debloated
    artifacts. These soundness issues highlight the need to improve debloating tools
    to ensure stable and reliable debloated software.'
author:
- first_name: Jonas
  full_name: Klauke, Jonas
  id: '40915'
  last_name: Klauke
  orcid: 0000-0001-9160-9636
- first_name: Tom
  full_name: Ohlmer, Tom
  last_name: Ohlmer
- first_name: Stefan
  full_name: Schott, Stefan
  id: '54847'
  last_name: Schott
  orcid: 0000-0002-0644-3297
- first_name: Serena Elisa
  full_name: Ponta, Serena Elisa
  last_name: Ponta
- first_name: Wolfram
  full_name: Fischer, Wolfram
  last_name: Fischer
- first_name: Eric
  full_name: Bodden, Eric
  id: '59256'
  last_name: Bodden
  orcid: 0000-0003-3470-3647
citation:
  ama: 'Klauke J, Ohlmer T, Schott S, Ponta SE, Fischer W, Bodden E. A Soundness and
    Precision Benchmark for Java Debloating Tools. In: <i>Proceedings of the 2025
    Workshop on Software Supply Chain Offensive Research and Ecosystem Defenses</i>.
    ACM; 2026. doi:<a href="https://doi.org/10.1145/3733827.3765530">10.1145/3733827.3765530</a>'
  apa: 'Klauke, J., Ohlmer, T., Schott, S., Ponta, S. E., Fischer, W., &#38; Bodden,
    E. (2026). A Soundness and Precision Benchmark for Java Debloating Tools. <i>Proceedings
    of the 2025 Workshop on Software Supply Chain Offensive Research and Ecosystem
    Defenses</i>. SCORED ’25: Workshop on Software Supply Chain Offensive Research
    and Ecosystem Defenses, Taipei. <a href="https://doi.org/10.1145/3733827.3765530">https://doi.org/10.1145/3733827.3765530</a>'
  bibtex: '@inproceedings{Klauke_Ohlmer_Schott_Ponta_Fischer_Bodden_2026, title={A
    Soundness and Precision Benchmark for Java Debloating Tools}, DOI={<a href="https://doi.org/10.1145/3733827.3765530">10.1145/3733827.3765530</a>},
    booktitle={Proceedings of the 2025 Workshop on Software Supply Chain Offensive
    Research and Ecosystem Defenses}, publisher={ACM}, author={Klauke, Jonas and Ohlmer,
    Tom and Schott, Stefan and Ponta, Serena Elisa and Fischer, Wolfram and Bodden,
    Eric}, year={2026} }'
  chicago: Klauke, Jonas, Tom Ohlmer, Stefan Schott, Serena Elisa Ponta, Wolfram Fischer,
    and Eric Bodden. “A Soundness and Precision Benchmark for Java Debloating Tools.”
    In <i>Proceedings of the 2025 Workshop on Software Supply Chain Offensive Research
    and Ecosystem Defenses</i>. ACM, 2026. <a href="https://doi.org/10.1145/3733827.3765530">https://doi.org/10.1145/3733827.3765530</a>.
  ieee: 'J. Klauke, T. Ohlmer, S. Schott, S. E. Ponta, W. Fischer, and E. Bodden,
    “A Soundness and Precision Benchmark for Java Debloating Tools,” presented at
    the SCORED ’25: Workshop on Software Supply Chain Offensive Research and Ecosystem
    Defenses, Taipei, 2026, doi: <a href="https://doi.org/10.1145/3733827.3765530">10.1145/3733827.3765530</a>.'
  mla: Klauke, Jonas, et al. “A Soundness and Precision Benchmark for Java Debloating
    Tools.” <i>Proceedings of the 2025 Workshop on Software Supply Chain Offensive
    Research and Ecosystem Defenses</i>, ACM, 2026, doi:<a href="https://doi.org/10.1145/3733827.3765530">10.1145/3733827.3765530</a>.
  short: 'J. Klauke, T. Ohlmer, S. Schott, S.E. Ponta, W. Fischer, E. Bodden, in:
    Proceedings of the 2025 Workshop on Software Supply Chain Offensive Research and
    Ecosystem Defenses, ACM, 2026.'
conference:
  end_date: 2025-10-17
  location: Taipei
  name: 'SCORED ''25: Workshop on Software Supply Chain Offensive Research and Ecosystem
    Defenses'
  start_date: 2025-10-13
date_created: 2026-07-29T14:29:54Z
date_updated: 2026-07-29T14:46:19Z
doi: 10.1145/3733827.3765530
language:
- iso: eng
project:
- _id: '1072'
  name: 'SFB 901; TP T5: Zuverlässige und automatisierte codebasierte Analyse von
    Open-Source-Abhängigkeiten (Reaktor)'
publication: Proceedings of the 2025 Workshop on Software Supply Chain Offensive Research
  and Ecosystem Defenses
publication_status: published
publisher: ACM
status: public
title: A Soundness and Precision Benchmark for Java Debloating Tools
type: conference
user_id: '40915'
year: '2026'
...
