English
Related papers

Related papers: Debloating Software through Piece-Wise Compilation…

200 papers

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…

Software Engineering · Computer Science 2022-05-20 César Soto-Valero , Thomas Durieux , Nicolas Harrand , Benoit Baudry

Modern software systems heavily use C/C++ based libraries. Because of the weak memory model of C/C++, libraries may suffer from vulnerabilities which can expose the applications to potential attacks. For example, a very large number of…

Cryptography and Security · Computer Science 2019-02-19 Girish Mururu , Chris Porter , Prithayan Barua , Santosh Pande

Software debloating tools seek to improve program security and performance by removing unnecessary code, called bloat. While many techniques have been proposed, several barriers to their adoption have emerged. Namely, debloating tools are…

Software Engineering · Computer Science 2024-06-14 Michael D. Brown , Adam Meily , Brian Fairservice , Akshay Sood , Jonathan Dorn , Eric Kilmer , Ronald Eytchison

Software complexity has increased over the years. One common way to tackle this complexity during development is to encapsulate features into a shared library. This allows developers to reuse already implemented features instead of…

Cryptography and Security · Computer Science 2019-09-17 Nicolai Davidsson , Andre Pawlowski , Thorsten Holz

Software debloating is an emerging field of study aimed at improving the security and performance of software by removing excess library code and features that are not needed by the end user (called bloat). Software bloat is pervasive, and…

Cryptography and Security · Computer Science 2019-09-10 Michael D. Brown , Santosh Pande

Program debloating aims to enhance the performance and reduce the attack surface of bloated applications. Several techniques have been recently proposed to specialize programs. These approaches are either based on unsound strategies or…

Software Engineering · Computer Science 2021-09-08 Mohannad Alhanahnah , Rithik Jain , Vaibhav Rastogi , Somesh Jha , Thomas Reps

Software bloat refers to code and features that is not used by a software during runtime. For Machine Learning (ML) systems, bloat is a major contributor to their technical debt leading to decreased performance and resource wastage. In this…

Software Engineering · Computer Science 2025-05-15 Huaifeng Zhang , Ahmed Ali-Eldin

Containers have become a standard for deploying applications due to their convenience, but they often suffer from significant software bloat-unused files that inflate image sizes, increase provisioning times, and waste resources. These…

Software Engineering · Computer Science 2025-02-20 Huaifeng Zhang , Mohannad Alhanahnah , Philipp Leitner , Ahmed Ali-Eldin

Software reuse may result in software bloat when significant portions of application dependencies are effectively unused. Several tools exist to remove unused (byte)code from an application or its dependencies, thus producing smaller…

Software Engineering · Computer Science 2021-08-12 Serena Elisa Ponta , Wolfram Fischer , Henrik Plate , Antonino Sabetta

Binary decompilation aims to recover binaries into high-level source code, but existing evaluations mainly rely on syntactic similarity or single-axis readability metrics, which fail to capture practical reusability. We propose a…

Software Engineering · Computer Science 2026-05-29 Puzhuo Liu , Yuhan Huang , Jianlei Chi , Peng Di , Yu Jiang

As software grows in complexity to accommodate diverse features and platforms, software bloating has emerged as a significant challenge, adversely affecting performance and security. However, existing approaches inadequately address the…

Software Engineering · Computer Science 2025-03-13 Bo Lin , Shangwen Wang , Yihao Qin , Liqian Chen , Xiaoguang Mao

Code bloat widely exists in production-run software. Left untackled, it not only degrades software performance but also increases its attack surface. In this work, we conduct a case study to understand this issue in statically linked…

Software Engineering · Computer Science 2018-10-29 Linhai Song , Xinyu Xing

Today's software is bloated with both code and features that are not used by most users. This bloat is prevalent across the entire software stack, from operating systems and applications to containers. Containers are lightweight…

Nearly all modern software suffers from bloat that negatively impacts its performance and security. To combat this problem, several automated techniques have been proposed to debloat software. A key metric used in many of these works to…

Cryptography and Security · Computer Science 2020-01-17 Michael D. Brown , Santosh Pande

Program debloating aims to remove unused code to reduce performance overhead, attack surfaces, and maintenance costs. Over time, debloating has evolved across multiple layers (container, library, and application), each building on the…

Software Engineering · Computer Science 2026-04-22 Muhammad Bilal , Moiz Ali , Mohit Kumar , Fareed Zaffar , Fahad Shaon , Ashish Gehani , Sazzadur Rahaman

Modern software often struggles with bloat, leading to increased memory consumption and security vulnerabilities from unused code. In response, various program debloating techniques have been developed, typically utilizing test cases that…

Software Engineering · Computer Science 2024-02-02 Myeongsoo Kim , Santosh Pande , Alessandro Orso

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…

Software Engineering · Computer Science 2025-10-24 Jonas Klauke , Tom Ohlmer , Stefan Schott , Serena Elisa Ponta , Wolfram Fischer , Eric Bodden

Software debloating techniques are applied to craft a specialized version of the program based on the user's requirements and remove irrelevant code accordingly. The debloated programs presumably maintain better performance and reduce the…

Cryptography and Security · Computer Science 2023-09-18 Do-Men Su , Mohannad Alhanahnah

The embedded devices of today due to their CPU, RAM capabilities can run various Linux distributions but in most cases they are different from general purpose distributions as they are usually lighter and specific to the needs of that…

Performance · Computer Science 2019-11-01 Bharath Honnesara Sreenivasa , Ajay Rajan

Many small-scale software systems, that is, with limited codebase or binary size, are widely used in everyday tasks, yet their configurability remains largely unexplored. At the same time, studies on modern software systems show a trend…

Software Engineering · Computer Science 2026-04-20 Xhevahire Tërnava , Georges Aaron Randrianaina , Luc Lesoil , Mathieu Acher
‹ Prev 1 2 3 10 Next ›