MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Abstract

Download:
pdf
by Michael Hicks, Stephanie Weirich
http://www.cis.upenn.edu/~mwh/papers/loadcalc.pdf
Add To MetaCart

Abstract:

We present the load-calculus, used to model dynamic loading, and prove it sound. The calculus extends the polymorphic λ-calculus with a load primitive that dynamically loads terms that are closed, with respect to values. The calculus is meant to approximate the process of dynamic loading in TAL/Load [4], an version of Typed Assembly Language [7] extending with dynamic linking. To model the key aspects of TAL, the calculus contains references and facilities for named types. Loadable programs may refer to named types defined by the running program, and may export new types to code loaded later. Our approach follows the framework initially outlined by Glew et. al [3]. This calculus has been implemented in the TALx86 [6] version of Typed Assembly Language, and is used to implement a full-featured dynamic linking library, DLpop [4]. 1

Citations

811 Proof-Carrying Code – Necula - 1997
498 Wait-Free Synchronization – Herlihy - 1991
483 From System F to typed assembly language – Morrisett, Walker, et al. - 1998
256 Enforcing high-level protocols in low-level software – Deline, Fähndrich - 2001
241 Region-Based Memory Management – Tofte, Talpin - 1997
238 Garbage collection in an uncooperative environment – Boehm, Weiser - 1988
168 Typed memory management in a calculus of capabilities – Crary, Walker, et al. - 1999
133 Alias types – Smith, Walker, et al. - 2000
132 Region-based memory management in cyclone – Grossman, Morrisett, et al. - 2002
131 ARetargetable C Compiler: Design and Implementation – Fraser, Hanson - 1995
129 Program fragments, linking, and modularization – CARDELLI - 1997
123 Stack-based typed assembly language – Morrisett, Crary, et al. - 2000
118 TALx86: A realistic typed assembly language – Morrisett, Crary, et al. - 1999
117 A parameterized type system for race-free Java programs – Boyapati, Rinard - 2001
112 Dynamic software updating – Hicks, Moore, et al. - 2001
108 Morrisett. Alias types for recursive data structures – Walker, Gregory - 2000
100 Adoption and focus: Practical linear types for imperative programming – Fähndrich, DeLine - 2002
97 types can change the world – Linear - 1990
95 A toolkit for user-level file systems – Mazieres - 2001
86 Better static memory management: Improving region-based analysis of higher-order languages – Aiken, Fähndrich, et al. - 1995
76 Language support for regions – Gay, Aiken - 2001
72 Alias burying: Unique variables without destructive reads – Boyland
68 Concurrent Programming in Erlang – Armstrong, Virding, et al. - 1996
60 Ownership types for safe regionbased memory management in real-time Java – Boyapati, Sălcianu, et al.
59 Type-safe linking and modular assembly language – Glew, Morrisett - 1999
52 Runtime support for type-safe dynamic java classes – Malabarba, Pandey, et al. - 2000
52 Type-safe multithreading in cyclone – Grossman - 2003
49 Linear LISP—Look Ma, No Garbage – Lively - 1992
46 Copying and swapping: influences on the design of reusable software components – Harms, Weide - 1991
46 Type-preserving garbage collectors – Wang, Appel
44 Reconsidering custom memory allocation – Berger, Zorn, et al. - 2002
44 A Practical Flow-Sensitive and Context-Sensitive C and C++ Memory Leak Detector – Heine, Lam - 2003
42 The ins and outs of Clean I/O – Achten, Plasmeijer - 1995
41 Dynamic C++ classes, a lightweight mechanism to update code in a running program – Hjálmt´ysson, Gray - 1998
40 Guava: A dialect of Javawithout data races – Bacon, Strom, et al. - 2001
37 On dynamically updating a computer program: From concept to prototype – Frieder, Segal - 1991
37 A formal framework for on-line software version change – Gupta, Jalote, et al. - 1996
34 Safe and flexible dynamic linking of native code – Hicks, Weirich, et al. - 2000
34 On-The-Fly Program Modification: Systems for Dynamic Updating – Segal - 1993
32 Combining region inference and garbage collection – Hallenberg, Elsman, et al. - 2002
28 On regions and linear types, in – Walker, Watkins
27 DYMOS: A Dynamic Modification System – Lee - 1983
27 A direct approach to control-flow sensitive region-based memory management – Henglein, Makholm, et al.
26 Checking and inferring local non-aliasing – Aiken, Foster, et al. - 2003
26 Safe kernel programming in the oke – Bos, Samwel - 2002
23 Upgrading transport protocols using untrusted mobile code – Patel, Whitaker, et al. - 2003
20 Dynamic ML without dynamic types – Gilmore, Kirli, et al. - 1997
17 External uniqueness – Clarke, Wrigstad - 2003
16 Sharing in Typed Module Assembly Language – Duggan - 2000
16 DITools: Application-level Support for Dynamic Extension and Flexible Composition – Serra, Navarro, et al. - 2000