@article {14690,
	title = {Evaluating Dynamic Software Update Safety Using Systematic Testing},
	journal = {IEEE Transactions on Software Engineering},
	volume = {PP},
	year = {2011},
	pages = {1 - 1},
	abstract = {Dynamic software updating (DSU) systems patch programs on the fly without incurring downtime. To avoid failures due to the updating process itself, many DSU systems employ timing restrictions. However, timing restrictions are theoretically imperfect, and their practical effectiveness is an open question. This paper presents the first significant empirical evaluation of three popular timing restrictions: activeness safety (AS), which prevents updates to active functions; con-freeness safety (CFS), which only allows modifications to active functions when doing so is provably type-safe; and manual identification of the event-handling loops during which an update may occur. We evaluated these timing restrictions using a series of DSU patches to three programs: OpenSSH, vsftpd, and ngIRCd. We systematically applied updates at each distinct update point reached during execution of a suite of system tests for these programs to determine which updates pass and which fail. We found that all three timing restrictions prevented most failures, but only manual identification allowed none. Further, although CFS and AS allowed many more update points, manual identification still supported updates with minimal delay. Finally, we found that manual identification required the least developer effort. Overall, we conclude that manual identification is most effective.},
	keywords = {and serviceability, Availability, Computer Systems Organization, Delay, Manuals, Performance of Systems, reliability, Safety, servers, software, software engineering, Test execution, Testing and Debugging},
	isbn = {0098-5589},
	doi = {10.1109/TSE.2011.101},
	author = {Hayden,C. and Smith,E. and Hardisty,E. and Hicks, Michael W. and Foster, Jeffrey S.}
}
@conference {14736,
	title = {State transfer for clear and efficient runtime updates},
	booktitle = {2011 IEEE 27th International Conference on Data Engineering Workshops (ICDEW)},
	year = {2011},
	month = {2011/04/11/16},
	pages = {179 - 184},
	publisher = {IEEE},
	organization = {IEEE},
	abstract = {Dynamic software updating (DSU), the practice of updating software while it executes, is a lively area of research. The DSU approach most prominent in both commercial and research systems is in-place updating, in which patches containing program modifications are loaded into a running process. However, in-place updating suffers from several problems: it requires complex tool support, it may adversely affect the performance of normal execution, it requires challenging reasoning to understand the behavior of an updated program, and it requires extra effort to modify program state to be compatible with an update. This paper presents preliminary work investigating the potential for state transfer updating to address these problems. State transfer updates work by launching a new process running the updated program version and transferring program state from the running process to the updated version. In this paper, we describe the use and implementation of Ekiden, a new state transfer updating library for C/C++ programs. Ekiden seeks to redress the difficulties of in-place updating, and we report on our experience updating VSFTPD using Ekiden. This initial experience suggests that state transfer provides the availability benefits of in-place DSU approaches while addressing many of their shortcomings.},
	keywords = {C++ language, C++ program, Cognition, complex tool support, dynamic software updating, efficient runtime update, in-place DSU approach, Libraries, Operating systems, program modification, Program processors, program transfer, program version, Runtime, servers, software libraries, Software maintenance, state transfer update, Steady-state, updating library, VSFTPD},
	isbn = {978-1-4244-9195-7},
	doi = {10.1109/ICDEW.2011.5767632},
	author = {Hayden,C.M. and Smith,E. K and Hicks, Michael W. and Foster, Jeffrey S.}
}
