跳到主要内容
10.5555/1855807.1855838诉讼指南文章/章节视图摘要出版物页面会议记录acm-pubtype公司
第条

使用堆栈重建的即时多线程动态软件更新

出版:2009年6月14日出版历史

摘要

我们提出了一种新的动态软件更新方法。这种方法允许更新到目前为止根本无法在运行时更新或可以更新的应用程序,但在启动更新和更新生效之间可能存在无限延迟(在此期间不提供任何服务)。与现有方法不同,我们允许对堆栈上活动的函数进行任意更改,而无需程序员预测程序的未来发展。我们使用实际示例论证,动态更新常见的实际应用程序需要此功能。

我们方法的核心是堆栈重建技术,它允许同时更新调用堆栈上的所有函数,以确保更新后所有活动函数的版本相同。这是第一种为多线程应用程序维护代码和数据表示一致性的通用方法。我们的系统UpStare用于更新PostgreSQL数据库管理系统(超过200000行代码),并将5.5年的更新应用于非常安全的FTP服务器vsFTPd(约12000行代码。

工具书类

  1. Gautam Altekar、Ilya Bagrak、Paul Burstein和Andrew Schultz。OPUS:在线补丁和安全更新。第14届USENIX安全研讨会,第287-302页,2005年7月。谷歌学者谷歌学者数字图书馆数字图书馆
  2. Jeff Arnold和M.Frans Kaashoek。KSplice:自动无重启内核更新。2009年欧洲系统2009年4月。谷歌学者谷歌学者数字图书馆数字图书馆
  3. 安德鲁·鲍曼(Andrew Baumann)、格诺特·海瑟(Gernot Heiser)、乔纳森·阿帕沃奥(Jonathan Appavoo)、迪尔玛·达·席尔瓦(Dilma Da Silva)、奥兰·克里格(Orran Krieger)和罗伯特·维斯。在操作系统中提供动态更新。USENIX操作系统设计与实现研讨会2005年4月。谷歌学者谷歌学者数字图书馆数字图书馆
  4. 陈海波(Haibo Chen)、余杰(Jie Yu)、陈蓉(Rong Chen),臧宾玉(Binyu Zang)和彭昌耀(Pen-Chung Yew)。Polus:一个强大的实时更新系统。ICSE’07:第29届国际软件工程会议记录,第271-281页,美国华盛顿特区,2007年。IEEE计算机学会。谷歌学者谷歌学者数字图书馆数字图书馆
  5. 多米尼克·达根。正在运行的模块的基于类型的热交换。函数式程序设计国际会议,第62-73页,2001年。谷歌学者谷歌学者数字图书馆数字图书馆
  6. Deepak Gupta、Pankaj Jalote和Gautam Barua。在线软件版本更改的正式框架。软件工程, 22(2):120-131, 1996.谷歌学者谷歌学者数字图书馆数字图书馆
  7. 苏珊·霍维茨。识别程序的两个版本之间的语义和文本差异。ACM SIGPLAN 90年编程语言设计和实现会议记录,第25卷,第234-245页,纽约州怀特普兰斯,1990年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  8. Susan Horwitz和Thomas Reps。软件工程中程序依赖图的使用第十四届国际软件工程会议论文集,第392-411页,1992年。谷歌学者谷歌学者数字图书馆数字图书馆
  9. 费拉斯·卡拉布利赫(Feras Karablieh)和里达·巴兹(Rida A.Bazzi)。多线程应用程序的异构检查点。第21届可靠分布式系统(SRDS)研讨会2002年10月。谷歌学者谷歌学者数字图书馆数字图书馆
  10. 费拉斯·卡拉布利赫(Feras Karablieh)、里达·巴齐(Rida A.Bazzi)和玛格丽特·希克斯(Margaret Hicks)。编译器辅助的异构检查点。第20届IEEE可靠分布式系统研讨会(SRDS)2001年10月。谷歌学者谷歌学者
  11. Kristis Makris和Kyung Dong Ryu。商品操作系统内核中非静态子系统的动态和自适应更新。欧洲系统20072007年3月。谷歌学者谷歌学者数字图书馆数字图书馆
  12. 尤利安·尼姆图。实用动态软件更新马里兰州大学博士论文,2008年8月。谷歌学者谷歌学者数字图书馆数字图书馆
  13. 尤利安·尼姆图、迈克尔·希克斯、杰弗里·福斯特和波利维奥斯·普拉蒂卡基斯。版本一致性动态软件更新和安全并发编程的上下文影响。ACM程序设计语言原理会议记录(POPL),第37-50页,2008年1月。谷歌学者谷歌学者数字图书馆数字图书馆
  14. 尤利安·尼姆图(Iulian Neamtiu)、迈克尔·希克斯(Michael Hicks)、加雷斯·斯托尔(Gareth Stoyle)和曼努埃尔·奥利奥(Manuel Oriol)。实用的C.In动态软件更新ACM编程语言设计与实现会议记录2006年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  15. George C.Necula、ScottMcPeak、S.P.Rahul和Westley Weimer。CIL:用于分析和转换C程序的中间语言和工具。编者建设会议记录, 2002.谷歌学者谷歌学者数字图书馆数字图书馆
  16. 加雷思·斯托尔(Gareth Stoyle)、迈克尔·希克斯(Michael Hicks)、加文·比尔曼(Gavin Bierman)、彼得·苏厄尔(Peter Sewell)和尤利安·尼姆图(Iulian Neamtiu)。Mutatis Mutandis公司:安全灵活的动态软件更新。美国计算机学会程序设计语言与系统汇刊(TOPLAS), 2006.谷歌学者谷歌学者数字图书馆数字图书馆
  17. Ariel Tamches和Barton P.Miller。商品操作系统内核的细粒度动态检测。第三届操作系统设计与实现研讨会1999年2月。谷歌学者谷歌学者数字图书馆数字图书馆

建议

评论

登录选项

检查您是否可以通过登录凭据或您的机构访问本文。

登录

完全访问权限

  • 发布于

    封面图片指南会议记录
    USENIX'09:2009年USENIX年度技术会议记录
    2009年6月
    32页

    出版商

    USENIX协会

    美国

    出版历史

    • 出版:2009年6月14日

    限定符

    • 第条