Abstract. The ability to adapt software systems to fix bugs, add/change features without restarting is becoming important for many domains including but not limited to finance, social networking, control systems, etc. Fortunately, many ideas have begun to emerge under the umbrella term "dyanamic updating" to solve this problem. Dynamic updating is critical to address certain software evolution needs. Dynamic updating literature evaluates such systems in terms of coverage (i.e. what type of code changes are supported) and performance. However, we do not have a technique to analyze whether certain updating solution, based on its costs and benefits, is suitable for an application.In this paper, we present a quantitative analysis model to fill this gap. Our model is parameterized and it can be instantiated with application-specific valuation functions. Given the software evolution history of the application under consideration, our model allows rigorous comparisons of the value of different software updating schemes (e.g. online vs. offline). We illustrate our model using two case studies inspired from the the evolution history of Xerces XML parser library and Apache httpd web server. Other case studies and evaluation examples are presented in our technical report [Gharaibeh, Rajan and Chang 09]. The proposed analysis scheme can serve system architects in evaluating their current updating scheme. For example, to audit the system's value during previous development cycles and whether a different updating scheme will generate higher value.
Recent research showed that the majority of compatibility-breaking changes in a component-based, object-oriented software system are refactorings [5]. The software updating process in such system with the presence of heavily refactored application programming interface (API) is largely manual and disruptive to running, mission-critical applications, which are expected to run continuously without any interruptions. To address the online, API update issue for mission-critical systems, we have developed an online updating framework based on Virtual Execution Environment (VEE) such as Java Virtual Machine. The framework extends the VEE to take the API change log, which records changes to API components, and seamlessly apply proper updates to the running system without human intervention and without shutting down the system. This framework was implemented as an extension to Jikes Research Virtual Machine. Our experimental study showed that our online update tool requires little overhead while maintaining the consistent state of the updated running application.
The increasing memory requirement for today's applications is causing more stress for the memory system. This side effect puts pressure into available caches, and specifically the TLB cache. TLB misses are responsible for a considerable ratio of the total memory latency, since an average of 10°0 of execution time is wasted on miss penalties. Java applications are not in a better position. Their attractive features increase the memory footprint. Generally, Java applications TLB miss rate tends to be multiples of miss rate for non-java applications. The high miss rate will cause the application to loose valuable execution time. Our experiments show that on average, miss penalty can constitute about 24°0 of execution time.Several hardware modifications were suggested to reduce TLB misses for general applications. However, to the best of our knowledge, there have been no similar efforts for java applications. Here we propose asoftware-based prediction model that relies on information available to the virtual machine. The model uses the write barrier operation to predict TLB misses with an average 41 °o accuracy rate.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.