Safe Software Updates via Multi-version Execution. Hosek, P. & Cadar, C. In Proc. of the Int'l Conf. on Software Engineering, 2013. abstract bibtex 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.
@inproceedings{hosek_safe_2013,
title = {Safe {Software} {Updates} via {Multi}-version {Execution}},
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.},
urldate = {2013-07-11TZ},
booktitle = {Proc. of the {Int}'l {Conf}. on {Software} {Engineering}},
author = {Hosek, Petr and Cadar, Cristian},
year = {2013},
keywords = {patch\_testing, veniok}
}
Downloads: 0
{"_id":"Li84ucD8r4gD872zk","bibbaseid":"hosek-cadar-safesoftwareupdatesviamultiversionexecution-2013","downloads":0,"creationDate":"2016-10-15T13:23:04.490Z","title":"Safe Software Updates via Multi-version Execution","author_short":["Hosek, P.","Cadar, C."],"year":2013,"bibtype":"inproceedings","biburl":"http://bibbase.org/zotero/pentarious","bibdata":{"bibtype":"inproceedings","type":"inproceedings","title":"Safe Software Updates via Multi-version Execution","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.","urldate":"2013-07-11TZ","booktitle":"Proc. of the Int'l Conf. on Software Engineering","author":[{"propositions":[],"lastnames":["Hosek"],"firstnames":["Petr"],"suffixes":[]},{"propositions":[],"lastnames":["Cadar"],"firstnames":["Cristian"],"suffixes":[]}],"year":"2013","keywords":"patch_testing, veniok","bibtex":"@inproceedings{hosek_safe_2013,\n\ttitle = {Safe {Software} {Updates} via {Multi}-version {Execution}},\n\tabstract = {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.},\n\turldate = {2013-07-11TZ},\n\tbooktitle = {Proc. of the {Int}'l {Conf}. on {Software} {Engineering}},\n\tauthor = {Hosek, Petr and Cadar, Cristian},\n\tyear = {2013},\n\tkeywords = {patch\\_testing, veniok}\n}\n\n","author_short":["Hosek, P.","Cadar, C."],"key":"hosek_safe_2013","id":"hosek_safe_2013","bibbaseid":"hosek-cadar-safesoftwareupdatesviamultiversionexecution-2013","role":"author","urls":{},"keyword":["patch_testing","veniok"],"downloads":0},"search_terms":["safe","software","updates","via","multi","version","execution","hosek","cadar"],"keywords":["patch_testing","veniok"],"authorIDs":[],"dataSources":["QiRZ7m7shEMvADZkd"]}