2023
DOI: 10.1145/3546948
|View full text |Cite
|
Sign up to set email alerts
|

Coverage-Based Debloating for Java Bytecode

Abstract: Software bloat is code that is packaged in an application but is actually not necessary to run the application. The presence of software bloat is an issue for security, for performance, and for maintenance. In this paper, we introduce a novel technique for debloating, which we call coverage-based debloating. We implement the technique for one single language: Java bytecode. We leverage a combination of state-of-the-art Java bytecode coverage tools to precisely capture what parts of a project and its dependenci… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2

Citation Types

0
4
0

Year Published

2023
2023
2024
2024

Publication Types

Select...
3
3

Relationship

0
6

Authors

Journals

citations
Cited by 7 publications
(4 citation statements)
references
References 58 publications
(65 reference statements)
0
4
0
Order By: Relevance
“…Several binary debloating tools have been developed. These tools work on software binaries, for example, Linux shared libraries or executables [2,3,18,50,51,62], Java jar packages [13,23,48,59], and Android APK packages [34,62]. These tools typically measure their efficacy by studying the source of bloated dependencies [58,60], code size reduction [2,13,51,59,62], binary size reduction [3,18,34,48,59,62], and CVE reduction [3,18,50,51].…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations
“…Several binary debloating tools have been developed. These tools work on software binaries, for example, Linux shared libraries or executables [2,3,18,50,51,62], Java jar packages [13,23,48,59], and Android APK packages [34,62]. These tools typically measure their efficacy by studying the source of bloated dependencies [58,60], code size reduction [2,13,51,59,62], binary size reduction [3,18,34,48,59,62], and CVE reduction [3,18,50,51].…”
Section: Related Workmentioning
confidence: 99%
“…These tools work on software binaries, for example, Linux shared libraries or executables [2,3,18,50,51,62], Java jar packages [13,23,48,59], and Android APK packages [34,62]. These tools typically measure their efficacy by studying the source of bloated dependencies [58,60], code size reduction [2,13,51,59,62], binary size reduction [3,18,34,48,59,62], and CVE reduction [3,18,50,51]. Moreover, Tang et al [62] have shown that removing binary bloat can lead to improvements in runtime performance, as well as lower memory and power usage.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Bloat can be defined simply as the parts of software that are never used during deployment. Software bloat is a result of many factors, including unnecessary software features [8] and unnecessary code packaged with an application [59]. Software bloat has been studied in the context of operating systems [35], containers [44], Java applications [58], among many other domains.…”
Section: Introductionmentioning
confidence: 99%