POLUS: A pOwerful live updating system

Haibo Chen, Jie Yu, Rong Chen, Binyu Zang, Pen Chung Yew

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

106 Scopus citations

Abstract

This paper presents POLUS, a software maintenance tool capable of iteratively evolving running software into newer versions. POLUS's primary goal is to increase the dependability of contemporary server software, which is frequently disrupted either by external attacks or by scheduled upgrades. To render POLUS both practical and powerful, we design and implement POLUS aiming to retain backward binary compatibility, support for multithreaded software and recover already tainted state of running software, yet with good usability and very low runtime overhead. To demonstrate the applicability of POLUS, we report our experience in using POLUS to dynamically update three prevalent server applications: vsftpd, sshd and apache HTTP server. Performance measurements show that POLUS incurs negligible runtime overhead: a less than 1% performance degradation (but 5% for one case). The time to apply an update is also minimal.

Original languageEnglish (US)
Title of host publicationProceedings - 29th International Conference on Software Engineering, ICSE 2007
Pages271-280
Number of pages10
DOIs
StatePublished - Sep 25 2007
Event29th International Conference on Software Engineering, ICSE 2007 - Minneapolis, MN, United States
Duration: May 20 2007May 26 2007

Publication series

NameProceedings - International Conference on Software Engineering
ISSN (Print)0270-5257

Conference

Conference29th International Conference on Software Engineering, ICSE 2007
Country/TerritoryUnited States
CityMinneapolis, MN
Period5/20/075/26/07

Fingerprint

Dive into the research topics of 'POLUS: A pOwerful live updating system'. Together they form a unique fingerprint.

Cite this