Module Reload through Dynamic Update - The Case of NetBeans

  • Authors:
  • Allan Raundahl Gregersen;Bo Norregaard Jorgensen

  • Affiliations:
  • University of Southern Denmark, The Maersk Mc-Kinney Moller Institute, Campusvej 55, DK-5230 Odense M, Denmark, allang@mmmi.sdu.dk;University of Southern Denmark, The Maersk Mc-Kinney Moller Institute, Campusvej 55, DK-5230 Odense M, Denmark, bnj@mmmi.sdu.dk

  • Venue:
  • CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Recent versions of the NetBeans IDE allow us to easily reload NetBeans modules in an instance of a running program. Though overcoming some of the dynamic component-replacement issues, simply running NetBeans' installluninstall hooks, can lead to dangling object references and hard-to-track class cast exceptions. These problems are caused by Java's class-loading scheme which considers class objects of the same class definition as distinct types when loaded by different class loaders. In this paper we apply a novel dynamic update approach to NetBeans' reload feature which overcomes these shortcomings, thus confirming its general validity. Hence, developers of NetBeans application modules, as well as NetBeans IDE modules, will experience a significant improvement as our approach allows transparent evolution ofboth code and state.