• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Practical Dynamic Software Updating (2008)

Cached

  • Download as a PDF

Download Links

  • [www.cs.umd.edu]
  • [pag.csail.mit.edu]
  • [pag.lcs.mit.edu]
  • [se.ethz.ch]
  • [www.cs.umd.edu]

  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Iulian Gheorghe Neamtiu
Citations:55 - 20 self
  • Summary
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@MISC{Neamtiu08practicaldynamic,
    author = {Iulian Gheorghe Neamtiu},
    title = {Practical Dynamic Software Updating},
    year = {2008}
}

Bookmark

citeulike Connotea Bibsonomy Del.icio.us Digg Reddit

OpenURL

 

Abstract

This dissertation makes the case that programs can be updated while they run, with modest programmer effort, while providing certain update safety guarantees, and without imposing a significant performance overhead. Few systems are designed with on-the-fly updating in mind. Those systems that permit it support only a very limited class of updates, and generally provide no guarantees that following the update, the system will behave as intended. We tackle the on-the-fly updating problem using a compiler-based approach called dynamic software updating (DSU), in which a program is patched with new code and data while it runs. The challenge is in making DSU practical: it should support changes to programs as they occur in practice, yet be safe, easy to use, and not impose a large overhead. This dissertation makes both theoretical contributions—formalisms for reasoning about, and ensuring update safety—and practical contributions—Ginseng, a DSU implementation for C. Ginseng supports a broad range of changes to C programs, and performs a suite of safety analyses to ensure certain update safety

Citations

1208 SmallTalk-80: The Language and its Implementation - Goldberg, Robson - 1983
458 Principles of program analysis - Nielson, Nielson, et al. - 1999
348 Automatically validating temporal safety properties of interfaces - Ball, Rajamani - 2001
330 CIL: Intermediate language and tools for analysis and transformation of C programs - Necula, McPeak, et al. - 2002
322 Flow-sensitive type qualifiers - Foster, Terauchi, et al. - 2002
272 Dependent types in practical programming - Xi, Pfenning - 1999
269 Region-based memory management - Tofte, Talpin - 1997
249 HANSEN: Profile Guided Code Positioning - PETTIS, C - 1990
211 Polymorphic effect systems - Lucassen, Gifford - 1988
194 An API for Runtime Code Patching - Buck, Hollingsworth - 2000
187 Why do Internet services fail, and what can be done about it - Oppenheimer, Ganapathi, et al. - 2003
186 Typed memory management in a calculus of capabilities - Crary, Walker, et al. - 1999
179 Finding bugs is easy - Hovemeyer, Pugh - 2004
162 Eliminating Array Bound Checking Through Dependent Types - Xi, Pfenning - 1998
157 Alias types - Smith, Walker, et al. - 2000
154 Dynamic software updating - Hicks, Moore, et al. - 2001
151 Refinement types for ML - Freeman, Pfenning - 1991
150 An efficient implementation of self a dynamically-typed object-oriented language based on prototypes - Chambers, Ungar, et al. - 1989
143 JB, Stata R. Extended static checking for java - Flanagan, KRM, et al. - 2002
138 Lessons from Giant-Scale Services - Brewer
138 The design and implementation of zap: a system for migrating computing environments - Osman, Subhraveti, et al. - 2002
103 an annotation assistant for ESC/Java - Houdini - 2001
95 Type inference with simple subtypes - Mitchell - 1991
90 Type-safe multithreading in cyclone - Grossman - 2003
89 Access control based on execution history - Abadi, Fournet - 2003
86 Identifying the semantic and textual differences between two versions of a program - Horwitz - 1990
83 Resource usage analysis - Igarashi, Kobayashi
81 Runtime Support for Type-safe dynamic Java Classes - Malabarba, Pandey, et al. - 2000
78 Ranjit Jhala, Rupak Majumdar, and Grégoire Sutre. Software verification with BLAST - Henzinger - 2003
75 A survey of process migration mechanisms - Smith - 1988
73 Understanding The Linux Kernel - Bovet, Cesati - 2005
64 Identifying syntactic differences between two programs - Yang - 1991
62 Process migration - Milo´jičić, Douglis, et al. - 2000
56 Types and effects. towards the integration of functional and imperative programming - Lucassen - 1987
56 2003): An Effective Theory of Type Refinements - Mandelbaum, Walker, et al.
51 2003. Security holes... who cares - Rescorla
50 Dynamic C++ Classes, A lightweight mechanism to update code in a running program - Hjálmtýsson, Gray - 1998
49 System Support for Online Reconfiguration - Soules, Appavoo, et al.
49 Semantic Diff: a tool for summarizing the effects of modifications - Jackson, Ladd - 1994
48 Lazy modular upgrades in persistent object stores - Boyapati, Liskov, et al.
47 On dynamically updating a computer program: From concept to prototype - Segal, Frieder, et al. - 1991
47 Semantic type qualifiers - Chin, Markstrum, et al. - 2005
46 Using semantic differencing to reduce the cost of regression testing - Binkley
41 A Technique for Dynamic Updating of Java Software - Orso, Rao, et al. - 2002
40 Checking and inferring local non-aliasing - Aiken, Foster, et al. - 2003
39 Type-based hot swapping of running modules - Duggan - 2001
39 Understanding source code evolution using abstract syntax tree matching - Neamtiu, Foster, et al. - 2005
39 Open nesting in software transactional memory - Ni, Menon, et al. - 2007
38 An Overview of Checkpointing in Uniprocessor and Distributed Systems, Focusing on Implementation and Performance - Plank - 1997
38 Read-copy update: Using execution history to solve concurrency problems - MCKENNEY, SLINGWINE - 1998
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University