DocumentCode :
3142352
Title :
Safe software updates via multi-version execution
Author :
Hosek, Petr ; Cadar, Cristian
Author_Institution :
Dept. of Comput., Imperial Coll. London, London, UK
fYear :
2013
fDate :
18-26 May 2013
Firstpage :
612
Lastpage :
621
Abstract :
Software systems are constantly evolving, with new versions and patches being released on a continuous basis. Unfortunately, software updates present a high risk, with many releases introducing new bugs and security vulnerabilities. We tackle this problem using a simple but effective multi-version based approach. Whenever a new update becomes available, instead of upgrading the software to the new version, we run the new version in parallel with the old one; by carefully coordinating their executions and selecting the behaviour of the more reliable version when they diverge, we create a more secure and dependable multi-version application. We implemented this technique in Mx, a system targeting Linux applications running on multi-core processors, and show that it can be applied successfully to several real applications such as Coreutils, a set of user-level UNIX applications; Lighttpd, a popular web server used by several high-traffic websites such as Wikipedia and YouTube; and Redis, an advanced key-value data structure server used by many well-known services such as GitHub and Flickr.
Keywords :
Linux; configuration management; multiprocessing systems; program debugging; security of data; software reliability; Coreutils; Flickr; GitHub; Lighttpd; Linux applications; MX; Redis; Web server; Wikipedia; YouTube; dependable multiversion application; high-traffic websites; key-value data structure server; multicore processors; multiversion based approach; multiversion execution; security vulnerabilities; software bugs; software patches; software systems; software updates; software upgrading; software versions; user-level UNIX applications; Computer bugs; Linux; Monitoring; Prototypes; Reliability; Software; multi-version execution; software updates; surviving software crashes;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering (ICSE), 2013 35th International Conference on
Conference_Location :
San Francisco, CA
Print_ISBN :
978-1-4673-3073-2
Type :
conf
DOI :
10.1109/ICSE.2013.6606607
Filename :
6606607
Link To Document :
بازگشت