Immediate multi-threaded dynamic software updates using stack reconstruction

Kristis Makris, Rida A. Bazzi

Research output: Chapter in Book/Report/Conference proceedingConference contribution

15 Scopus citations

Abstract

We propose a new approach for dynamic software updates. This approach allows updating applications that until now could not be updated at runtime at all or could be updated but with a possibly indefinite delay between the time an update is initiated and the time the update is effected (during this period no service is provided). Unlike existing approaches, we allow arbitrary changes to functions active on the stack and without requiring the programmer to anticipate the future evolution of a program. We argue, using actual examples, that this capability is needed to dynamically update common real applications. At the heart of our approach is a stack reconstruction technique that allows all functions on the call stack to be updated at the same time to guarantee that all active functions have the same version after an update. This is the first general approach that maintains both code and data representation consistency for multi-threaded applications. Our system UpStare was used to update the PostgreSQL database management system (more than 200,000 lines of code) and apply 5.5 years-worth of updates to the very secure FTP server vsFTPd (about 12,000 lines of code).

Original languageEnglish (US)
Title of host publicationProceedings of the 2009 USENIX Annual Technical Conference
PublisherUSENIX Association
Pages397-410
Number of pages14
ISBN (Electronic)9781931971683
StatePublished - 2019
Event2009 USENIX Annual Technical Conference - San Diego, United States
Duration: Jun 14 2009Jun 19 2009

Publication series

NameProceedings of the 2009 USENIX Annual Technical Conference

Conference

Conference2009 USENIX Annual Technical Conference
Country/TerritoryUnited States
CitySan Diego
Period6/14/096/19/09

ASJC Scopus subject areas

  • Computer Science(all)

Fingerprint

Dive into the research topics of 'Immediate multi-threaded dynamic software updates using stack reconstruction'. Together they form a unique fingerprint.

Cite this