首页 | 本学科首页   官方微博 | 高级检索  
     


JavAdaptor—Flexible runtime updates of Java applications
Authors:Mario Pukall  Christian Kästner  Walter Cazzola  Sebastian Götz  Alexander Grebhahn  Reimar Schröter  Gunter Saake
Affiliation:1. School of Computer Science, University of Magdeburg, , Magdeburg, Sachsen‐Anhalt, Germany;2. Philipps‐University Marburg, , Marburg, Germany;3. University of Milano, , Milano, Italy;4. University of Dresden, , Dresden, Germany
Abstract:Software is changed frequently during its life cycle. New requirements come, and bugs must be fixed. To update an application, it usually must be stopped, patched, and restarted. This causes time periods of unavailability, which is always a problem for highly available applications. Even for the development of complex applications, restarts to test new program parts can be time consuming and annoying. Thus, we aim at dynamic software updates to update programs at runtime. There is a large body of research on dynamic software updates, but so far, existing approaches have shortcomings either in terms of flexibility or performance. In addition, some of them depend on specific runtime environments and dictate the program's architecture. We present JavAdaptor , the first runtime update approach based on Java that (a) offers flexible dynamic software updates, (b) is platform independent, (c) introduces only minimal performance overhead, and (d) does not dictate the program architecture. JavAdaptor combines schema changing class replacements by class renaming and caller updates with Java HotSwap using containers and proxies. It runs on top of all major standard Java virtual machines. We evaluate our approach's applicability and performance in non‐trivial case studies and compare it with existing dynamic software update approaches. Copyright © 2012 John Wiley & Sons, Ltd.
Keywords:dynamic software updates  program evolution  state migration: tool support
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号