Application update at run-time remains a challenging issue in software engineering. There are many techniques with different evaluation metrics, resulting in different behaviours in the application being updated. In this paper, we provide an extensive review of research work on dynamic software updating. A framework for the evaluation of dynamic updating features is developed, and the articles are categorized and discussed based on the provided framework. Areas of online software maintenance requiring further research are also identified and highlighted. This information is deemed to not only assist practitioners in selecting appropriate dynamic updating techniques for their systems, but also to facilitate the ongoing and continuous research in the field of dynamic software updating. Copyright © 2012 John Wiley & Sons, Ltd.