Dynamic Software Updating in Java: Comparing Concepts and Resource Demands

📅 2017-04-03
🏛️ International Conference on the Art, Science and Engineering of Programming
📈 Citations: 3
Influential: 1
📄 PDF

career value

151K/year
🤖 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.

Technology Category

Application Category

📝 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.
Problem

Research questions and friction points this paper is trying to address.

Compare Java dynamic update concepts' supported changes
Evaluate resource demands of dynamic software updating
Analyze impact of dynamic changes on Java applications
Innovation

Methods, ideas, or system contributions that make the work stand out.

Comparing dynamic updating concepts in Java
Analyzing resource demands of updates
Evaluating impact of dynamic changes
🔎 Similar Papers
No similar papers found.