🤖 AI Summary
Dynamic Software Updates (DSUs) reduce downtime, improve security, and accelerate iterative development; however, existing research lacks systematic, empirical comparisons of DSU techniques in the Java ecosystem—particularly regarding supported code-change types and associated runtime resource overhead.
Method: This paper presents the first cross-cutting evaluation of mainstream Java DSU mechanisms—including bytecode hot-swapping, class redefinition, and proxy injection—using micro-benchmarks and system-level monitoring to quantify CPU and memory overhead across representative change scenarios (e.g., method body modification, field addition/removal).
Contribution/Results: We propose a “change capability–resource cost” analytical framework that empirically correlates update expressiveness with runtime overhead, filling a critical gap in evidence-based DSU comparison. Our findings provide data-driven guidance for industry practitioners selecting lightweight, secure, and evolution-aware hot-update solutions aligned with real-world maintenance requirements.
📝 Abstract
Dynamic software updating (DSU) is an extremely useful feature to be used during software evolution. It can be used to reduce down-time costs, for security enhancements, profiling and testing new functionalities. There are many studies and solutions on dynamic software updating regarding diverse problems introduced by the topic, but there is a lack of research which compares various approaches concerning supported changes and demands on resources. In this paper, we are comparing currently available concepts for Java programming language that deal with dynamically applied changes and measuring the impact of those changes on computer resource demands.