{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:16:19Z","timestamp":1750306579970,"version":"3.41.0"},"publisher-location":"New York, New York, USA","reference-count":48,"publisher":"ACM Press","license":[{"start":{"date-parts":[[2014,1,1]],"date-time":"2014-01-01T00:00:00Z","timestamp":1388534400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"European Research Council","award":["ERC Advanced Grant 2008 - R3S3"],"award-info":[{"award-number":["ERC Advanced Grant 2008 - R3S3"]}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2014]]},"DOI":"10.1145\/2663165.2663328","type":"proceedings-article","created":{"date-parts":[[2014,11,26]],"date-time":"2014-11-26T15:45:24Z","timestamp":1417016724000},"page":"133-144","source":"Crossref","is-referenced-by-count":16,"title":["Mutable checkpoint-restart"],"prefix":"10.1145","author":[{"given":"Cristiano","family":"Giuffrida","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"C\u0103lin","family":"Iorgulescu","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andrew S.","family":"Tanenbaum","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","reference":[{"key":"key-10.1145\/2663165.2663328-1","unstructured":"Apache benchmark (AB). http:\/\/httpd.apache.org\/docs\/2.0\/programs\/ab.html."},{"key":"key-10.1145\/2663165.2663328-2","unstructured":"CRIU. http:\/\/criu.org."},{"key":"key-10.1145\/2663165.2663328-3","unstructured":"Cryopid2. http:\/\/sourceforge.net\/projects\/cryopid2."},{"key":"key-10.1145\/2663165.2663328-4","unstructured":"Ksplice performance on security patches. http:\/\/www.ksplice.com\/cve-evaluation."},{"key":"key-10.1145\/2663165.2663328-5","unstructured":"OpenVZ. http:\/\/wiki.openvz.org."},{"key":"key-10.1145\/2663165.2663328-6","unstructured":"pyftpdlib. https:\/\/code.google.com\/p\/pyftpdlib."},{"key":"key-10.1145\/2663165.2663328-7","unstructured":"G. Altekar, I. Bagrak, P. Burstein, and A. Schultz. OPUS: Online patches and updates for security. InProc. of the 14th USENIX Security Symp., pages 19--19, 2005."},{"key":"key-10.1145\/2663165.2663328-8","doi-asserted-by":"crossref","unstructured":"G. Altekar and I. Stoica. ODR: Output-deterministic replay for multicore debugging. InProc. of the 22nd ACM Symp. on Operating Systems Principles, pages 193--206, 2009.","DOI":"10.1145\/1629575.1629594"},{"key":"key-10.1145\/2663165.2663328-9","doi-asserted-by":"crossref","unstructured":"J. Ansel, K. Arya, and G. Cooperman. DMTCP: Transparent checkpointing for cluster computations and the desktop. InProc. of the IEEE Int'l Symp. on Parallel and Distributed Processing, pages 1--12, 2009.","DOI":"10.1109\/IPDPS.2009.5161063"},{"key":"key-10.1145\/2663165.2663328-10","doi-asserted-by":"crossref","unstructured":"J. Arnold and M. F. Kaashoek. Ksplice: Automatic rebootless kernel updates. InProc. of the Fourth ACM European Conf. on Computer Systems, pages 187--198, 2009.","DOI":"10.1145\/1519065.1519085"},{"key":"key-10.1145\/2663165.2663328-11","unstructured":"J. Baker, A. Cunei, T. Kalibera, F. Pizlo, and J. Vitek. Accurate garbage collection in uncooperative environments revisited.Concurr. Comput.: Pract. Exper., 21(12):1572--1606, 2009."},{"key":"key-10.1145\/2663165.2663328-12","unstructured":"A. Baumann, J. Appavoo, R. W. Wisniewski, D. D. Silva, O. Krieger, and G. Heiser. Reboots are for hardware: Challenges and solutions to updating an operating system on the fly. InProc. of the USENIX Annual Tech. Conf., pages 1--14, 2007."},{"key":"key-10.1145\/2663165.2663328-13","doi-asserted-by":"crossref","unstructured":"A. Baumann, G. Heiser, J. Appavoo, D. Da Silva, O. Krieger, R. W. Wisniewski, and J. Kerr. Providing dynamic update in an operating system. InProc. of the USENIX Annual Tech. Conf., page 32, 2005.","DOI":"10.1145\/1095810.1118622"},{"key":"key-10.1145\/2663165.2663328-14","doi-asserted-by":"crossref","unstructured":"E. D. Berger, B. G. Zorn, and K. S. McKinley. Reconsidering custom memory allocation. InProc. of the 17th ACM Conf. on Object-Oriented Programming, Systems, Languages, and Applications, pages 1--12, 2002.","DOI":"10.1145\/582419.582421"},{"key":"key-10.1145\/2663165.2663328-15","unstructured":"E. W. Biederman. Multiple instances of the global Linux namespaces. InProc. of the Linux Symposium, 2006."},{"key":"key-10.1145\/2663165.2663328-16","doi-asserted-by":"crossref","unstructured":"H.-J. Boehm. Space efficient conservative garbage collection. InProc. of the ACM SIGPLAN Conf. on Programming Language Design and Implementation, pages 197--206, 1993.","DOI":"10.1145\/173262.155109"},{"key":"key-10.1145\/2663165.2663328-17","doi-asserted-by":"crossref","unstructured":"H.-J. Boehm. Bounding space usage of conservative garbage collectors. InProc. of the 29th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, pages 93--100, 2002.","DOI":"10.1145\/565816.503282"},{"key":"key-10.1145\/2663165.2663328-18","doi-asserted-by":"crossref","unstructured":"H. Chen, R. Chen, F. Zhang, B. Zang, and P.-C. Yew. Live updating operating systems using virtualization. InProc. of the Second Int'l Conf. on Virtual Execution Environments, pages 35--44, 2006.","DOI":"10.1145\/1134760.1134767"},{"key":"key-10.1145\/2663165.2663328-19","doi-asserted-by":"crossref","unstructured":"H. Chen, J. Yu, R. Chen, B. Zang, and P.-C. Yew. POLUS: A POwerful live updating system. InProc. of the 29th Int'l Conf. on Software Eng., pages 271--281, 2007.","DOI":"10.1109\/ICSE.2007.65"},{"key":"key-10.1145\/2663165.2663328-20","doi-asserted-by":"crossref","unstructured":"T. Dumitras and P. Narasimhan. Why do upgrades fail and what can we do about it?: Toward dependable, online upgrades in enterprise system. InProc. of the 10th Int'l Conf. on Middleware, pages 1--20, 2009.","DOI":"10.1007\/978-3-642-10445-9_18"},{"key":"key-10.1145\/2663165.2663328-21","unstructured":"R. S. Fabry. How to design a system in which modules can be changed on the fly. InProc. of the Second Int'l Conf. on Software Eng., pages 470--476, 1976."},{"key":"key-10.1145\/2663165.2663328-22","unstructured":"O. Frieder and M. E. Segal. On dynamically updating a computer program: From concept to prototype.J. Syst. Softw., 14(2):111--128, 1991."},{"key":"key-10.1145\/2663165.2663328-23","doi-asserted-by":"crossref","unstructured":"C. Giuffrida, A. Kuijsten, and A. S. Tanenbaum. Safe and automatic live update for operating systems. InProc. of the 18th Int'l Conf. on Architectural Support for Programming Languages and Operating Systems, pages 279--292, 2013.","DOI":"10.1145\/2499368.2451147"},{"key":"key-10.1145\/2663165.2663328-24","doi-asserted-by":"crossref","unstructured":"C. Giuffrida and A. Tanenbaum. Safe and automated state transfer for secure and reliable live update. InProc. of the Fourth Int'l Workshop on Hot Topics in Software Upgrades, pages 16--20, 2012.","DOI":"10.1109\/HotSWUp.2012.6226610"},{"key":"key-10.1145\/2663165.2663328-25","doi-asserted-by":"crossref","unstructured":"D. Gupta and P. Jalote. On-line software version change using state transfer between processes.Softw. Pract. and Exper., 23(9):949--964, 1993.","DOI":"10.1002\/spe.4380230903"},{"key":"key-10.1145\/2663165.2663328-26","doi-asserted-by":"crossref","unstructured":"D. Gupta, P. Jalote, and G. Barua. A formal framework for on-line software version change.IEEE Trans. Softw. Eng., 22(2):120--131, 1996.","DOI":"10.1109\/32.485222"},{"key":"key-10.1145\/2663165.2663328-27","doi-asserted-by":"crossref","unstructured":"P. H. Hargrove and J. C. Duell. Berkeley lab checkpoint\/restart (BLCR) for Linux clusters.Journal of Physics: Conference Series, 46(1):494, 2006.","DOI":"10.1088\/1742-6596\/46\/1\/067"},{"key":"key-10.1145\/2663165.2663328-28","doi-asserted-by":"crossref","unstructured":"C. Hayden, K. Saur, M. Hicks, and J. Foster. A study of dynamic software update quiescence for multithreaded programs. InProc. of the Fourth Int'l Workshop on Hot Topics in Software Upgrades, pages 6--10, 2012.","DOI":"10.1109\/HotSWUp.2012.6226617"},{"key":"key-10.1145\/2663165.2663328-29","doi-asserted-by":"crossref","unstructured":"C. Hayden, E. Smith, E. Hardisty, M. Hicks, and J. Foster. Evaluating dynamic software update safety using systematic testing.IEEE Trans. Softw. Eng., 38(6):1340--1354, 2012.","DOI":"10.1109\/TSE.2011.101"},{"key":"key-10.1145\/2663165.2663328-30","doi-asserted-by":"crossref","unstructured":"C. M. Hayden, E. K. Smith, M. Denchev, M. Hicks, and J. S. Foster. Kitsune: Efficient, general-purpose dynamic software updating for C. InProc. of the ACM Conf. on Object-Oriented Programming, Systems, Languages, and Appilcations, 2012.","DOI":"10.1145\/2384616.2384635"},{"key":"key-10.1145\/2663165.2663328-31","doi-asserted-by":"crossref","unstructured":"F. Henderson. Accurate garbage collection in an uncooperative environment. InProc. of the 3rd Int'l Symp. on Memory management, pages 150--156, 2002.","DOI":"10.1145\/512429.512449"},{"key":"key-10.1145\/2663165.2663328-32","doi-asserted-by":"crossref","unstructured":"M. Hirzel and A. Diwan. On the type accuracy of garbage collection. InProc. of the 2nd Int'l Symp. on Memory Management, pages 1--11, 2000.","DOI":"10.1145\/362426.362428"},{"key":"key-10.1145\/2663165.2663328-33","doi-asserted-by":"crossref","unstructured":"M. Hirzel, A. Diwan, and J. Henkel. On the usefulness of type and liveness accuracy for garbage collection and leak detection.ACM Trans. Program. Lang. Syst., 24(6):593--624, 2002.","DOI":"10.1145\/586088.586089"},{"key":"key-10.1145\/2663165.2663328-34","unstructured":"J. Jelinek. Prelink http:\/\/people.redhat.com\/jakub\/prelink.pdf."},{"key":"key-10.1145\/2663165.2663328-35","unstructured":"I. Kravets and D. Tsafrir. Feasibility of mutable replay for automated regression testing of security updates. InWorkshop on Runtime Environments, Systems, Layering and Virtualized Environments, 2012."},{"key":"key-10.1145\/2663165.2663328-36","doi-asserted-by":"crossref","unstructured":"O. Laadan, N. Viennot, and J. Nieh. Transparent, lightweight application execution replay on commodity multiprocessor operating systems. InProc. of the Int'l Conf. on Measurement and Modeling of Computer Systems, pages 155--166, 2010.","DOI":"10.1145\/1811099.1811057"},{"key":"key-10.1145\/2663165.2663328-37","doi-asserted-by":"crossref","unstructured":"C. Lattner and V. Adve. LLVM: A compilation framework for lifelong program analysis &#38; transformation. InProc. of the Int'l Symp. on Code Generation and Optimization, page 75, 2004.","DOI":"10.1109\/CGO.2004.1281665"},{"key":"key-10.1145\/2663165.2663328-38","unstructured":"K. Makris and R. Bazzi. Immediate multi-threaded dynamic software updates using stack reconstruction. InProc. of the USENIX Annual Tech. Conf., pages 397--410, 2009."},{"key":"key-10.1145\/2663165.2663328-39","doi-asserted-by":"crossref","unstructured":"K. Makris and K. D. Ryu. Dynamic and adaptive updates of non-quiescent subsystems in commodity operating system kernels. InProc. of the Second ACM European Conf. on Computer Systems, pages 327--340, 2007.","DOI":"10.1145\/1272998.1273031"},{"key":"key-10.1145\/2663165.2663328-40","doi-asserted-by":"crossref","unstructured":"T. Mytkowicz, A. Diwan, M. Hauswirth, and P. F. Sweeney. Producing wrong data without doing anything obviously wrong! InProc. of the 14th Int'l Conf. on Architectural Support for Programming Languages and Operating Systems, pages 265--276, 2009.","DOI":"10.1145\/1508244.1508275"},{"key":"key-10.1145\/2663165.2663328-41","doi-asserted-by":"crossref","unstructured":"I. Neamtiu and M. Hicks. Safe and timely updates to multi-threaded programs. InProc. of the ACM SIGPLAN Conf. on Programming Language Design and Implementation, pages 13--24, 2009.","DOI":"10.1145\/1543135.1542479"},{"key":"key-10.1145\/2663165.2663328-42","doi-asserted-by":"crossref","unstructured":"I. Neamtiu, M. Hicks, G. Stoyle, and M. Oriol. Practical dynamic software updating for C. InProc. of the ACM SIGPLAN Conf. on Programming Language Design and Implementation, pages 72--83, 2006.","DOI":"10.1145\/1133255.1133991"},{"key":"key-10.1145\/2663165.2663328-43","doi-asserted-by":"crossref","unstructured":"S. Park, Y. Zhou, W. Xiong, Z. Yin, R. Kaushik, K. H. Lee, and S. Lu. PRES: Probabilistic replay with execution sketching on multiprocessors. InProc. of the 22nd ACM Symp. on Operating Systems Principles, pages 177--192, 2009.","DOI":"10.1145\/1629575.1629593"},{"key":"key-10.1145\/2663165.2663328-44","doi-asserted-by":"crossref","unstructured":"J. Rafkind, A. Wick, J. Regehr, and M. Flatt. Precise garbage collection for C. InProc. of the Int'l Symp. on Memory management, pages 39--48, 2009.","DOI":"10.1145\/1542431.1542438"},{"key":"key-10.1145\/2663165.2663328-45","doi-asserted-by":"crossref","unstructured":"M. Siniavine and A. Goel. Seamless kernel updates. InProc. of the 43rd Int'l Conf. on Dependable Systems and Networks, 2013.","DOI":"10.1109\/DSN.2013.6575312"},{"key":"key-10.1145\/2663165.2663328-46","doi-asserted-by":"crossref","unstructured":"D. Subhraveti and J. Nieh. Record and transplay: Partial checkpointing for replay debugging across heterogeneous systems. InProc. of the Int'l Conf. on Measurement and Modeling of Computer Systems, pages 109--120, 2011.","DOI":"10.1145\/2007116.2007129"},{"key":"key-10.1145\/2663165.2663328-47","doi-asserted-by":"crossref","unstructured":"S. Subramanian, M. Hicks, and K. S. McKinley. Dynamic software updates: a VM-centric approach. InProc. of the ACM SIGPLAN Conf. on Programming Language Design and Implementation, pages 1--12, 2009.","DOI":"10.1145\/1543135.1542478"},{"key":"key-10.1145\/2663165.2663328-48","doi-asserted-by":"crossref","unstructured":"N. Viennot, S. Nair, and J. Nieh. Transparent mutable replay for multicore debugging and patch validation. InProc. of the 18th Int'l Conf. on Architectural Support for Programming Languages and Operating Systems, pages 127--138, 2013.","DOI":"10.1145\/2499368.2451130"}],"event":{"number":"15","sponsor":["Raytheon BBN Technologies","IFIP","Conseil R\u00e9gional d'Aquitaine","USENIX","ACM, Association for Computing Machinery","LaBRI","HP","Bordeaux, City of Bordeaux","GDR ASR, GDR Architecture, Syst\u00e8mes et R\u00e9seaux"],"acronym":"Middleware '14","name":"the 15th International Middleware Conference","start":{"date-parts":[[2014,12,8]]},"location":"Bordeaux, France","end":{"date-parts":[[2014,12,12]]}},"container-title":["Proceedings of the 15th International Middleware Conference on - Middleware '14"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2663165.2663328","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/dl.acm.org\/ft_gateway.cfm?id=2663328&amp;ftid=1515756&amp;dwn=1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T06:13:46Z","timestamp":1750227226000},"score":1,"resource":{"primary":{"URL":"http:\/\/dl.acm.org\/citation.cfm?doid=2663165.2663328"}},"subtitle":["automating live update for generic server programs"],"short-title":[],"issued":{"date-parts":[[2014]]},"references-count":48,"URL":"https:\/\/doi.org\/10.1145\/2663165.2663328","relation":{},"subject":[],"published":{"date-parts":[[2014]]}}}