Dynamic rebinding for marshalling and update, (2009)
Peter Sewell, Gareth Stoyle, Michael Hicks, Gavin Bierman, Keith Wansbrough
via redex-time and destruct-time reduction
Over the last 35 years, researchers have proposed many different forms of security policies to control how information is managed by software, e.g., multi-level information flow policies, role-based...
Verified Enforcement of Stateful Information Release Policies (2009)
Many organizations specify information release policies to describe the terms under which sensitive information may be released to other organizations. This paper presents a new approach for ensuring...
Locksmith: Practical Static Race Detection for C (2009)
Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks
Locksmith is a static analysis tool for automatically detecting data races in C programs. In this paper, we describe each of Locksmith’s component analyses precisely, and present systematic...
Path Projection for User-Centered Static Analysis Tools (2009)
Khoo Yit, Phang Jeffrey, S. Foster, Michael Hicks, Vibha Sazawal
The research and industrial communities have made great strides in developing sophisticated defect detection tools based on static analysis. However, to date most of the work in this area has focused...
Iulian Neamtiu, Michael Hicks, Jeffrey S. Foster, Polyvios Pratikakis
This paper presents a generalization of standard effect systems that we call contextual effects. A traditional effect system computes the effect of an expression e. Our system additionally computes...
Path Projection for User-Centered Static Analysis Tools (2009)
Khoo Yit, Phang Jeffrey, S. Foster, Michael Hicks, Vibha Sazawal
The research and industrial communities have made great strides in developing sophisticated defect detection tools based on static analysis. To date most of the work in this area has focused on...
Formalizing Soundness of Contextual Effects (2009)
Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks, Iulian Neamtiu
Abstract. A contextual effect system generalizes standard type and effect systems: where a standard effect system computes the effect of an expression e, a contextual effect system additionally...
Abstract Dynamic Software Updates for Java: A VM-Centric Approach (2009)
Suriya Subramanian, Michael Hicks, Kathryn S. Mckinley
Software evolves to fix bugs and add features, but stopping and restarting existing programs to take advantage of these changes can be inconvenient and costly. Dynamic software updating (DSU)...
Formalizing Soundness of Contextual Effects (2009)
Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks, Iulian Neamtiu
Abstract. A contextual effects system generalizes standard type and effect systems: where a standard effects system computes the effect of an expression e, a contextual effects system additionally...
The Design of Distributed Programming Languages (2008)
Peter Sewell, John Billings, Steve Bishop, Matthew Fairbairn, Pierre Habouzit, Michael Hicks, ...
High-level programming languages For non-distributed, non-concurrent programming, they’re pretty good. We have ML (SML/OCaml), Haskell, Java, C#, with: • type safety • rich concrete types –...
Formalizing Soundness of Contextual Effects (2008)
Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks, Iulian Neamtiu
Abstract. A contextual effects system generalizes standard type and effect systems: where a standard effects system computes the effect of an expression e, a contextual effects system additionally...
Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks
One common technique for preventing data races in multi-threaded programs is to ensure that all accesses to shared locations are consistently protected by a lock. We present a tool called Locksmith...
Iulian Neamtiu, Michael Hicks, Jeffrey S. Foster, Polyvios Pratikakis
This paper presents a generalization of standard effect systems that we call contextual effects. A traditional effect system computes the effect of an expression e. Our system additionally computes...
ABSTRACT Cross-tier, Label-based Security Enforcement for Web Applications (2008)
Brian J. Corcoran, Nikhil Swamy, Michael Hicks
This paper presents SELinks, an extension of the Links web programming language, that allows a database and web server to collaboratively enforce a security policy with high assurance. Our approach...
Abstract Chunks in PLAN: Language Support for Programs as Packets (2008)
Jonathan T. Moore, Michael Hicks, Scott Nettles
Chunks are a programming construct in PLAN, the Packet Language for Active Networks, comprised of a code segment and a suspended function call. In PLAN, chunks provide support for encapsulation and...
Abstract Safe Manual Memory Management in Cyclone (2008)
Nikhil Swamy, Michael Hicks, Greg Morrisett, Dan Grossman, Trevor Jim
The goal of the Cyclone project is to investigate how to make a low-level C-like language safe. Our most difficult challenge has been providing programmers control over memory management while...
Iulian Neamtiu, Michael Hicks, Jeffrey S. Foster, Polyvios Pratikakis
This paper presents a generalization of standard effect systems that we call contextual effects. A traditional effect system computes the effect of an expression e. Our system additionally computes...
Directing JavaScript with Arrows (Functional Pearl) (2008)
Khoo, Yit Phang, Hicks, Michael, Foster, Jeffrey S., Sazawal, Vibha
JavaScript, being a single-threaded language, makes extensive use of event-driven programming to enable responsive web applications. However, standard approaches to sequencing events are messy, and...
Path Projection for User-Centered Static Analysis Tools (2008)
Khoo, Yit-Phang, Foster, Jeffrey S., Hicks, Michael, Sazawal, Vibha
The research and industrial communities have made great strides in developing sophisticated defect detection tools based on static analysis. However, to date most of the work in this area has focused...
Merging Network Measurement with Data Transport (2008)
Pavlos Papageorgiou, Michael Hicks
Abstract. The tasks of measurement and data transport are often treated independently, but we believe there are benefits to bringing them together. This paper proposes the simple idea of a transport...
Michael Hicks, Colin Egan, Bruce Christianson, Patrick Quick
Abstract. Dynamic branch predictor logic alone accounts for approximately 10 % of total processor power dissipation. Recent research indicates that the power cost of a large dynamic branch predictor...
� �ÝÒ�Ñ � �ÐÐÝ ÙÔ��Ø���Ð � Û� � ×�ÖÚ�Ö �Ð�×�� � Ï � �� × Ù××
Iulian Neamtiu, Michael Hicks, Jeffrey S. Foster, Polyvios Pratikakis
This paper presents a generalization of standard effect systems that we call contextual effects. A traditional effect system computes the effect of an expression e. Our system additionally computes...
Abstract PLAN � A Packet Language for Active Networks (2008)
Michael Hicks, Pankaj Kakkar, Jonathan T. Moore, Carl A. Gunter, Scott Nettles
PLAN �Packet Language for Active Networks � is a new lan� guage for programs that form the packets of a programmable network. These programs replace the packet headers �which can be viewed as...
Abstract Dynamic Inference of Polymorphic Lock Types (2008)
James Rose, Nikhil Swamy, Michael Hicks
We present an FindLocks, an approach for automatically proving the absence of data races in multi-threaded Java programs, using a combination of dynamic and static analysis. The program in question...
Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks
One common technique for preventing data races in multi-threaded programs is to ensure that all accesses to shared locations are consistently protected by a lock. We present a tool called Locksmith...
Abstract Toward Practical Dynamic Software Updating (2008)
Iulian Neamtiu, Gareth Stoyle, Manuel Oriol, Michael Hicks
Software systems are imperfect, so software updates are a fact of life. While typical software updates require stopping and restarting the program in question, many systems cannot afford to halt...
Merging Network Measurement with Data Transport (Extended Abstract) (2008)
Pavlos Papageorgiou, Michael Hicks
Abstract. The tasks of measurement and data transport are often treated independently, but we believe there are benefits to bringing them together. This paper proposes the simple idea of a transport...
Specifying the PLAN Network Programming Langauge (2008)
Pankaj Kakkar, Michael Hicks, Jon Moore, Carl A. Gunter
We discuss how the speci cation of the PLAN programming language supports the design objectives of the language. The speci cation aims to provide a mathematically precise operational semantics that...
Abstract Safe Manual Memory Management in Cyclone (2008)
Nikhil Swamy, Michael Hicks, Greg Morrisett, Dan Grossman, Trevor Jim
The goal of the Cyclone project is to investigate how to make a low-level C-like language safe. Our most difficult challenge has been providing programmers control over memory management while...
Cyclone is a type-safe programming language intended for applications requiring control over memory management. Our previous work on Cyclone included support for stack allocation, lexical region...
Abstract Cyclone: A safe dialect of C (2008)
Trevor Jim, Greg Morrisett, Dan Grossman, Michael Hicks
Cyclone is a safe dialect of C. It has been designed from the ground up to prevent the buffer overflows, format string attacks, and memory management errors that are common in C programs, while...
Fable: A language for enforcing user-defined security policies (2008)
Nikhil Swamy, Brian J. Corcoran, Michael Hicks
This paper presents FABLE, a core formalism for a programming language in which programmers may specify security policies and reason that these policies are properly enforced. In FABLE, security...
Saurabh Srivastava, Michael Hicks, Jeffrey S. Foster, Patrick Jenkins
This paper presents CMOD, a novel tool that provides a sound module system for C. CMOD works by enforcing a set of four rules that are based on principles of modular reasoning and on current...
Fable: A language for enforcing user-defined security policies (2008)
Nikhil Swamy, Brian J. Corcoran, Michael Hicks
This paper presents FABLE, a core formalism for a programming language in which programmers may specify security policies and reason that these policies are properly enforced. In FABLE, security...
Fable: A language for enforcing user-defined security policies (2008)
Nikhil Swamy, Brian J. Corcoran, Michael Hicks
This paper presents FABLE, a core formalism for a programming language in which programmers may specify security policies and reason that these policies are properly enforced. In FABLE, security...
Verified enforcement of automaton-based information release policies (2008)
Many organizations specify information release policies to describe the terms under which sensitive information may be released to other organizations. This paper presents a new approach for ensuring...
Saurabh Srivastava, Michael Hicks, Jeffrey S. Foster, Patrick Jenkins
This paper presents CMOD, a novel tool that provides a sound module system for C. CMOD works by enforcing a set of four rules that are based on principles of modular reasoning and on current...
Adapting Scrum to Managing a Research Group (2008)
Michael Hicks, Jeffrey S. Foster
Working with and mentoring Ph.D. students is the central activity in running an academic research group, with two broad goals: (1) to collaboratively produce high-quality research results, and (2) to...
Adapting Scrum to Managing a Research Group (2008)
Michael Hicks, Jeffrey S. Foster
Working with and mentoring Ph.D. students is the central activity in running an academic research group, with two broad goals: (1) to collaboratively produce high-quality research results, and (2) to...
Abstract Active Networking Means Evolution (or Enhanced Extensibility Required) (2007)
The primary goal of active networking is to increase the pace of network evolution. The approach to achieving this goal, as well as the goal of enhancing customizability, is to allow network nodes to...
Many important applications must run continuously and without interruption, yet must be changed to fix bugs or upgrade functionality. To date, no existing dynamic updating system has achieved a...
Specifying the PLAN Network Programming Langauge (2007)
Pankaj Kakkar Michael, Michael Hicks, Jon Moore, Carl A. Gunter
We discuss how the specification of the PLAN programming language supports the design objectives of the language. The specification aims to provide a mathematically precise operational semantics that...
A History of High-Temperature Io Volcanism: February 1995 to May 1997. (2007)
John Spencer John, John A. Stansberry, Christophe Dumas, David Vakil, Randy Pregler, Michael Hicks, ...
Ground-based observations of Io's infrared thermal emission between February 1995 and May 1997, preceding and spanning the first part of Galileo's orbital tour, show several discrete...
Specifying the PLAN Network Programming Langauge (2007)
Pankaj Kakkar Michael, Michael Hicks, Jon Moore, Carl A. Gunter
We discuss how the specification of the PLAN programming language supports the design objectives of the language. The specification aims to provide a mathematically precise operational semantics that...
Types and Intermediate Representations (2007)
The design objectives and the mechanisms for achieving those objectives are considered for each of three systems, Java, Erlang, and TIL. In particular, I examine the use of types and intermediate...
Trevor Jim, Greg Morrisett, Dan Grossman, Michael Hicks, James Cheney, Yanling Wang
Cyclone is a safe dialect of C. It has been designed from the ground up to prevent the buer over ows, format string attacks, and memory management errors that are common in C programs, while...
Michael Hicks, Jonathan T. Moore, Scott Nettles
Abstract. PLAN (Packet Language for Active Networks) [4] is a highly exible and usable active packet language, whereas SNAP (Safe and Nimble Active Packets) [11] oers signicant resource usage safety...
Trevor Jim, Greg Morrisett, Dan Grossman, Michael Hicks, James Cheney, Yanling Wang
Cyclone is a safe dialect of C. It has been designed from the ground up to prevent the buer over ows, format string attacks, and memory management errors that are common in C programs, while...
Michael Hicks, Stephanie Weirich
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,...
Short Presentation: Combining Garbage Collection and Safe Manual Memory Management (2007)
Michael Hicks, Dan Grossman, Trevor Jim
Garbage collection (GC) provides an elegant, convenient, and safe approach to managing memory. For many applications, it is an appropriate technique for all data. For other applications, it works...
Neamtiu, Iulian, Hicks, Michael, Foster, Jeffrey S., Pratikakis, Polyvios
This paper presents a generalization of standard effect systems that we call contextual effects. A traditional effect system computes the effect of an expression e. Our system additionally computes...
Neamtiu, Iulian, Hicks, Michael, Foster, Jeffrey S., Pratikakis, Polyvios
This paper presents a generalization of standard effect systems that we call contextual effects. A traditional effect system computes the effect of an expression e. Our system additionally computes...
Toward Specifying and Validating Cross-Domain Policies (2007)
Hicks, Michael, Swamy, Nikhil, Tsang, Simon
Formal security policies are extremely useful for two related reasons. First, they allow a policy to be considered in isolation, separate from programs under the purview of the policy and separate...
Toward Specifying and Validating Cross-Domain Policies (2007)
Hicks, Michael, Swamy, Nikhil, Tsang, Simon
Formal security policies are extremely useful for two related reasons. First, they allow a policy to be considered in isolation, separate from programs under the purview of the policy and separate...
The Second Anonymous Continuation of the Crowland Abbey Chronicle 1459-86 Revisited (2007)
The most important narrator of Yorkist politics is the Second Anonymous Continuation of the chronicle of Crowland Abbey. Hence Yorkist historians need to understand the chronicle and the chronicler...
Mutatis Mutandis: safe and predictable dynamic software updating (2007)
Bierman, Gavin, Neamtiu, Iulian, Hicks, Michael, Sewell, Peter, Stoyle, Gareth
http://portal.acm.org/ft_gateway.cfm?id=1255455&type=pdf&coll=portal&dl=ACM&CFID=381409&CFTOKEN=93597745This article presents Proteus, a core calculus that models dynamic software updating, a service...
Verified enforcement of security policies for cross-domain information flows (2007)
analysis to show that security-critical programs, such as cross-domain guards, correctly enforce crossdomain security policies. We are enhancing existing techniques from the field of...
Saurabh Srivastava, Michael Hicks, Jeffrey S. Foster, Patrick Jenkins
This paper presents CMOD, a novel tool that provides a sound module system for C. CMOD works by enforcing a set of four rules that are based on principles of modular reasoning and on current...
Defeating Script Injection Attacks with Browser-Enforced Embedded Policies (2007)
Trevor Jim, Nikhil Swamy, Michael Hicks
Web sites that accept and display content such as wiki articles or comments typically filter the content to prevent injected script code from running in browsers that view the site. The diversity of...
Defeating Script Injection Attacks with Browser Enforced Embedded Policies (2006)
Trevor, Jim, Swamy, Nikhil, Hicks, Michael
Web sites that accept and display content such as wiki articles or comments typically filter the content to prevent injected script code from running in browsers that view the site. The diversity of...
Defeating Script Injection Attacks with Browser Enforced Embedded Policies (2006)
Trevor, Jim, Swamy, Nikhil, Hicks, Michael
Web sites that accept and display content such as wiki articles or comments typically filter the content to prevent injected script code from running in browsers that view the site. The diversity of...
Lock Inference for Atomic Sections (2006)
Hicks, Michael, Foster, Jeffrey S., Pratikakis, Polyvios
To prevent unwanted interactions in multithreaded programs, programmers have traditionally employed pessimistic, blocking concurrency primitives. Using such primitives correctly and efficiently is...
Locksmith: Context-Sensitive Correlation Analysis for Race Detection (2006)
Pratikakis, Polyvios, Foster, Jeffrey S., Hicks, Michael
One common technique for preventing data races in multi-threaded programs is to ensure that all accesses to shared locations are consistently protected by a lock. We present a tool called Locksmith...
Locksmith: Context-Sensitive Correlation Analysis for Race Detection (2006)
Pratikakis, Polyvios, Foster, Jeffrey S., Hicks, Michael
One common technique for preventing data races in multi-threaded programs is to ensure that all accesses to shared locations are consistently protected by a lock. We present a tool called Locksmith...
Practical Dynamic Software Updating for C (2006)
Neamtiu, Iulian, Hicks, Michael, Stoyle, Gareth, Oriol, Manuel
Software updates typically require stopping and restarting an application, but many systems cannot afford to halt service, or would prefer not to. Dynamic software updating (DSU) addresses this...
Practical Dynamic Software Updating for C (2006)
Neamtiu, Iulian, Hicks, Michael, Stoyle, Gareth, Oriol, Manuel
Software updates typically require stopping and restarting an application, but many systems cannot afford to halt service, or would prefer not to. Dynamic software updating (DSU) addresses this...
Managing policy updates in security-typed languages (2006)
This paper presents RX, a new security-typed programming language with features intended to make the management of information-flow policies more practical. Security labels in RX, in contrast to...
Managing policy updates in security-typed languages (2006)
This paper presents RX, a new security-typed programming language with features intended to make the management of information-flow policies more practical. Security labels in RX, in contrast to...
Managing Policy Updates in Security-Typed Languages (2006)
Nikhil Swamy Michael, Michael Hicks
This paper presents RX, a new security-typed programming language with features intended to make the management of information-flow policies more practical. Security labels in RX, in contrast to...
Safe manual memory management in Cyclone (2006)
Nikhil Swamy, Michael Hicks, Greg Morrisett, Dan Grossman, Trevor Jim
The goal of the Cyclone project is to investigate how to make a low-level C-like language safe. Our most difficult challenge has been providing programmers control over memory management while...
Managing policy updates in security-typed languages (2006)
This paper presents RX, a new security-typed programming language with features intended to make the management of information-flow policies more practical. Security labels in RX, in contrast to...
Managing policy updates in security-typed languages (2006)
This paper presents RX, a new security-typed programming language with features intended to make the management of information-flow policies more practical. Security labels in RX, in contrast to...
Practical dynamic software updating for c (2006)
Iulian Neamtiu, Michael Hicks, Gareth Stoyle, Manuel Oriol
Software updates typically require stopping and restarting an application, but many systems cannot afford to halt service, or would prefer not to. Dynamic software updating (DSU) addresses this...
Practical dynamic software updating for c (2006)
Iulian Neamtiu, Michael Hicks, Gareth Stoyle, Manuel Oriol
Software updates typically require stopping and restarting an application, but many systems cannot afford to halt service, or would prefer not to. Dynamic software updating (DSU) addresses this...
The author examines the role highway infrastructure and local property tax rate variability play in retail agglomeration in Indiana from 1988 through 2003. To account for data errors and the...
Managing policy updates in security-typed languages (2006)
Nikhil Swamy, Michael Hicks, Stephen Tse, Steve Zdancewic
This paper presents RX, a new security-typed programming language with features intended to make the management of information-flow policies more practical. Security labels in RX, in contrast to...
Existential Label Flow Inference via CFL Reachability (2005)
Pratikakis, Polyvios, Hicks, Michael, Foster, Jeffrey S.
Label flow analysis is a fundamental static analysis problem with a wide variety of applications. Previous work by Mossin developed a polynomial time subtyping-based label flow inference that...
Existential Label Flow Inference via CFL Reachability (2005)
Pratikakis, Polyvios, Hicks, Michael, Foster, Jeffrey S.
Label flow analysis is a fundamental static analysis problem with a wide variety of applications. Previous work by Mossin developed a polynomial time subtyping-based label flow inference that...
HEXPAK – A FLEXIBLE, SCALABLE ARCHITECTURE FOR RESPONSIVE SPACECRAFT (2005)
Michael Hicks, Michael Enoch, Larry Capots, Michael Hicks, Michael Enoch, Larry Capots
HexPak 2 is a deployable space structure that provides the characteristics essential for successful responsive space missions, including ease of scalability, a geometry naturally adapted for...
Tagged sets: A secure and transparent coordination medium (2005)
Abstract. A simple and effective way of coordinating distributed, mobile, and parallel applications is to use a virtual shared memory (VSM), such as a Linda tuple-space. In this paper, we propose a...
Existential Label Flow Inference via CFL Reachability (2005)
Polyvios Pratikakis, Michael Hicks, Jeffrey S. Foster
Label flow analysis is a fundamental static analysis problem with a wide variety of applications. Previous work by Mossin developed a polynomial time subtyping-based label flow inference that...
Mutatis Mutandis: Safe and predictable dynamic software updating (2005)
Gareth Stoyle, Michael Hicks, Gavin Bierman, Peter Sewell
This article presents Proteus, a core calculus that models dynamic software updating, a service for fixing bugs and adding features to a running program. Proteus permits a program’s type structure...
Existential Label Flow Inference via CFL Reachability (2005)
Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks
Abstract. In programming languages, existential quantification is useful for describing relationships among members of a structured type. For example, we may have a list in which there exists some...
Mutatis Mutandis: Safe and predictable dynamic software updating (2005)
Gareth Stoyle, Michael Hicks, Gavin Bierman, Peter Sewell
This paper presents Proteus, a core calculus that models dynamic software updating, a service for fixing bugs and adding features to a running program. Proteus permits a program’s type structure to...
Safe And Predictable, Gareth Stoyle, Michael Hicks, Gavin Bierman, Peter Sewell, Iulian Neamtiu
Dynamic software updates can be used to fix bugs or add features to a running program without downtime. Essential for some applications and convenient for others, low-level dynamic updating has been...
Dynamic updating of information-flow policies (2005)
Michael Hicks, Stephen Tse, Boniface Hicks, Steve Zdancewic
Applications that manipulate sensitive information should ensure end-to-end security by satisfying two properties: sound execution and some form of noninterference. By the former, we mean the program...
Existential Label Flow Inference via CFL Reachability (2005)
Polyvios Pratikakis, Jeffrey S. Foster, Michael Hicks
Abstract. In programming languages, existential quantification is useful for describing relationships among members of a structured type. For example, we may have a list in which there exists some...
Existential Label Flow Inference via CFL Reachability (2005)
Polyvios Pratikakis, Michael Hicks, Jeffrey S. Foster
Label flow analysis is a fundamental static analysis problem with a wide variety of applications. Previous work by Mossin developed a polynomial time subtyping-based label flow inference that...
Tagged sets: A secure and transparent coordination medium (2005)
Abstract. A simple and effective way of coordinating distributed, mobile, and parallel applications is to use a virtual shared memory (VSM), such as a Linda tuple-space. In this paper, we propose a...
Pravec, Petr, Harris, Alan W., Scheirich, P., Kušnirák, P., Šarounová, L., Hergenrother, Cark W., ...
We present both a review of earlier data and new results on non-principal axis rotators (tumblers) among asteroids. Among new tumblers found, the best data we have are for 2002 TD60, 2000WL107, and...
Transparent Proxies for Java Futures (2004)
Pratikakis, Polyvios, Spacco, Jaime, Hicks, Michael
A proxy object is a surrogate or placeholder that controls access to another target object. Proxies can be used to support distributed programming, lazy or parallel evaluation, access control, and...
Transparent Proxies for Java Futures (2004)
Pratikakis, Polyvios, Spacco, Jaime, Hicks, Michael
A proxy object is a surrogate or placeholder that controls access to another target object. Proxies can be used to support distributed programming, lazy or parallel evaluation, access control, and...
Transparent proxies for java futures (2004)
Polyvios Pratikakis, Michael Hicks, Jaime Spacco
A proxy object is a surrogate or placeholder that controls access to another target object. Proxies can be used to support distributed programming, lazy or parallel evaluation, access control, and...
Transparent Proxies for Java Futures (2004)
Polyvios Pratikakis, Michael Hicks, Jaime Spacco
A proxy object is a surrogate or placeholder that controls access to another target object. Proxies can be used to support distributed programming, lazy or parallel evaluation, access control, and...
Dynamic Rebinding for Marshalling and Update, with Destruct-time λ (2004)
Gavin Bierman, Gavin Bierman, Michael Hicks, Michael Hicks, Peter Sewell, Peter Sewell, ...
Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises, for example...
Jeremy Manson, Michael Hicks, Pete Keleher, Adam Porter, William Pugh Chair/advisor, ...
After many years, support for multithreading has been integrated into main-stream programming languages. Inclusion of this feature brings with it a need for a clear and direct explanation of how...
Experience with safe manual memory-management in Cyclone (2004)
Michael Hicks, Greg Morrisett, Dan Grossman, Trevor Jim
The goal of the Cyclone project is to investigate type safety for lowlevel languages such as C. Our most difficult challenge has been providing programmers control over memory management while...
Transparent proxies for java futures (2004)
Polyvios Pratikakis, Michael Hicks, Jaime Spacco
A proxy object is a surrogate or placeholder that controls access to another target object. Proxies can be used to support distributed programming, lazy or parallel evaluation, access control, and...
Experience with safe manual memory-management in Cyclone (2004)
Michael Hicks, Greg Morrisett, Dan Grossman, Trevor Jim
The goal of the Cyclone project is to investigate type safety for lowlevel languages such as C. Our most difficult challenge has been providing programmers control over memory management while...
Experience with safe manual memory-management in Cyclone (2004)
Michael Hicks, Greg Morrisett, Dan Grossman, Trevor Jim
The goal of the Cyclone project is to investigate type safety for low-level languages such as C. Our hardest challenge has been providing programmers control over memory management while retaining...
Hicks, Michael, Keromytis, Angelos D, Smith, Jonathan M
Active networks, being programmable, promise greater flexibility than current networks. Programmability, however, may introduce safety and security risks. This correspondence describes the design and...
Safe and Flexible Memory Management in Cyclone (2003)
Hicks, Michael, Morrisett, Greg, Grossman, Dan, Jim, Trevor
Cyclone is a type-safe programming language intended for applications requiring control over memory management. Our previous work on Cyclone included support for stack allocation, lexical region...
Safe and Flexible Memory Management in Cyclone (2003)
Hicks, Michael, Morrisett, Greg, Grossman, Dan, Jim, Trevor
Cyclone is a type-safe programming language intended for applications requiring control over memory management. Our previous work on Cyclone included support for stack allocation, lexical region...
User-specified adaptive scheduling in a streaming media network (2003)
Michael Hicks, Adithya Nagarajan, Robbert Renesse
Abstract — In disaster and combat situations, mobile cameras and other sensors transmit real-time data, used by many operators or analysis tools. Unfortunately, in the face of limited, unreliable...
User-specified adaptive scheduling in a streaming media network (2003)
Michael Hicks, Adithya Nagarajan, Robbert Renesse
In disaster and combat situations, mobile cameras and other sensors transmit real-time data, used by many operators and/or analysis tools. Unfortunately, in the face of limited, unreliable resources,...
User-specified adaptive scheduling in a streaming media network (2003)
Michael Hicks, Adithya Nagarajan, Robbert Renesse
Abstract — In disaster and combat situations, mobile cameras and other sensors transmit real-time data, used by many operators or analysis tools. Unfortunately, in the face of limited, unreliable...
Dynamic rebinding for marshalling and update, with destruct-time λ (2003)
Gavin Bierman, Michael Hicks, Peter Sewell, Gareth Stoyle, Keith Wansbrough
Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises, for example...
Dynamic Rebinding for Marshalling and Update, with Destruct-time λ (2003)
Gavin Bierman, Michael Hicks, Peter Sewell, Gareth Stoyle, Keith Wansbrough
Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises, for example...
Dynamic Rebinding for Marshalling and Update, (2003)
Gavin Bierman, Michael Hicks, Peter Sewell, Gareth Stoyle, Keith Wansbrough
Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises, for example...
Dynamic Rebinding for Marshalling and Update, with Destruct-time (2003)
Gavin Bierman, Michael Hicks, Peter Sewell, Gareth Stoyle, Keith Wansbrough
Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises, for example...
Formalizing Dynamic Software Updating (2003)
Gavin Bierman, Michael Hicks, Peter Sewell, Gareth Stoyle
Dynamic software updating (DSU) enables running programs to be updated with new code and data without interrupting their execution. A number of DSU systems have been designed, but there is still...
Dynamic Rebinding for Marshalling and Update, (2003)
Gavin Bierman, Michael Hicks, Peter Sewell, Gareth Stoyle, Keith Wansbrough
Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises, for example...
Safe and flexible memory management in Cyclone (2003)
Michael Hicks, Greg Morrisett, Dan Grossman, Trevor Jim
Cyclone is a type-safe programming language intended for applications requiring control over memory management. Our previous work on Cyclone included support for stack allocation, lexical region...
Dynamic Rebinding for Marshalling and Update, with Destruct-time λ (2003)
Gavin Bierman, Michael Hicks, Peter Sewell, Gareth Stoyle, Keith Wansbrough
Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises, for example...
User-specified adaptive scheduling in a streaming media network (2003)
Michael Hicks, Robbert Van Renesse, Mark Bickford, Robert Constable, Christoph Kreitz, Lori Lorigo
where, the press, or software that creates, say, a 3-dimensional model of the scene.
User-specified adaptive scheduling in a streaming media network (2003)
Michael Hicks, Robbert Van Renesse, Mark Bickford, Robert Constable, Christoph Kreitz, Lori Lorigo
In disaster and combat situations, mobile cameras and other types of sensors transmit real-time data, used by many operators and/or analysis tools. Unfortunately, in the face of limited, unreliable...
A Secure PLAN (Extended Version) (2002)
Hicks, Michael, Keromytis, Angelos D, Smith, Jonathan M
Active Networks promise greater flexibility than current networks, but threaten safety and security by virtue of their programmability. In this paper, we describe the design and implementation of a...
Region-based memory management in Cyclone (2002)
Dan Grossman, Greg Morrisett, Trevor Jim, Michael Hicks, Yanling Wang, James Cheney
Cyclone is a type-safe programming language derived from C. The primary design goal of Cyclone is to let programmers control data representation and memory management without sacrificing type-safety....
Region-based memory management in Cyclone (2002)
Dan Grossman, Greg Morrisett, Trevor Jim, Michael Hicks, Yanling Wang, James Cheney
Cyclone is a type-safe programming language derived from C. The primary design goal of Cyclone is to let programmers control data representation and memory management without sacrificing type-safety....
Experiences with capsule-based active networking (2002)
Michael Hicks, Jonathan T. Moore, Scott Nettles, David Wetherall
Active Networking adds programmability to the elements of the network, most aggressively by using programmable packets, or capsules. ANTS [1, 2] and PLANet [3, 4] are the most mature examples of...
Cyclone: A safe dialect of C (2002)
Trevor Jim, Greg Morrisett, Dan Grossman, Michael Hicks, James Cheney, Yanling Wang
Cyclone is a safe dialect of C. It has been designed from the ground up to prevent the bu#er overflows, format string attacks, and memory management errors that are common in C programs, while...
Experiences with Capsule-based Active Networking (2002)
Michael Hicks, Jonathan T. Moore, Scott Nettles, David Wetherall
Active Networking adds programmability to the elements of the network, most aggressively by using programmable packets, or capsules. ANTS [1], [2] and PLANet [3], [4] are the most mature examples of...
Dynamic Rebinding for Distributed Programming (2002)
Gavin Bierman, Michael Hicks, Peter Sewell, Gareth Stoyle, Keith Wansbrough
Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various guises. Typically...
A Secure PLAN (Extended Version) (2002)
Michael Hicks Computer, Michael Hicks, Angelos D. Keromytis, Jonathan M. Smith
Active Networks promise greater flexibility than current networks, but threaten safety and security by virtue of their programmability. In this paper, we describe the design and implementation of a...
Cyclone User's Manual, Version 0.1.3 (2001)
Grossman, Dan, Jim, Trevor, Hicks, Michael, Wang, Yanling, Cheney, James
The current version of this manual should be available at http://www.cs.cornell.edu/projects/cyclone/ and http://www.research.att.com/projects/cyclone/. The version here describes Cyclone Version...
Cyclone User's Manual, Version 0.1.3 (2001)
Grossman, Dan, Jim, Trevor, Hicks, Michael, Wang, Yanling, Cheney, James
The current version of this manual should be available at http://www.cs.cornell.edu/projects/cyclone/ and http://www.research.att.com/projects/cyclone/. The version here describes Cyclone Version...
A Calculus for Dynamic Loading (2001)
Hicks, Michael, Weirich, Stephanie C
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,...
pland: The PLAN Active Router \Lambda for PLAN version 3.1 (2001)
Synopsis pland [-router] [-firewall d1,d2,...,dn] [-l log] [-ip port]
Michael Hicks, Scott M. Nettles, Val Tannen, Michael Hicks
This dissertation, while an achievement that bears my name, would not have been possible without the help of others, who I would now like to thank. First and foremost, I thank God. He has been a...
Dynamic software updating (2001)
Michael Hicks, Jonathan T. Moore, Scott Nettles
Many important applications must run continuously and without interruption, yet must be changed to x bugs or upgrade functionality. No prior general-purpose methodology for dynamic updating achieves...
Dynamic software updating (2001)
Michael Hicks, Jonathan T. Moore, Scott Nettles
Many important applications must run continuously and without interruption, yet must be changed to x bugs or upgrade functionality. To date, no existing dynamic updating system has achieved a...
Practical programmable packets (2001)
Jonathan T. Moore, Michael Hicks, Scott Nettles
Abstract--- We present SNAP (Safe and Nimble Active Packets), a new scheme for programmable (or active) packets centered around a new lowlevel packet language. Unlike previous active packet...
Scott M. Nettles, Val Tannen, Michael Hicks, Michael Hicks
This dissertation, while an achievement that bears my name, would not have been possible without the help of others, who I would now like to thank. First and foremost, I thank God. He has been a...
Practical Programmable Packets (2001)
Jonathan Moore Michael, Michael Hicks, Scott Nettles
We present SNAP (Safe and Nimble Active Packets), a new scheme for programmable (or active) packets centered around a new low-level packet language. Unlike previous active packet approaches, SNAP is...
Practical Programmable Packets (2001)
Jonathan Moore Michael, Michael Hicks, Scott Nettles
We present SNAP (Safe and Nimble Active Packets), a new scheme for programmable (or active) packets centered around a new low-level packet language. Unlike previous active packet approaches, SNAP is...
Dynamic software updating (2001)
Gavin Bierman, Michael Hicks, Peter Sewell, Gareth Stoyle
Dynamic software updating (DSU) enables running programs to be updated with new code and data without interrupting their execution. A number of DSU systems have been designed, but there is still...
Dynamic software updating (2001)
Gavin Bierman, Michael Hicks, Peter Sewell, Gareth Stoyle
Dynamic software updating (DSU) enables running programs to be updated with new code and data without interrupting their execution. A number of DSU systems have been designed, but there is still...
Dynamic software updating (2001)
Gavin Bierman, Michael Hicks, Peter Sewell, Gareth Stoyle
Dynamic software updating (DSU) enables running programs to be updated with new code and data without interrupting their execution. A number of DSU systems have been designed, but there is still...
Practical Programmable Packets (2001)
Jonathan Moore Michael, Michael Hicks, Scott Nettles
We present SNAP (Safe and Nimble Active Packets), a new scheme for programmable (or active) packets centered around a new lowlevel packet language. Unlike previous active packet approaches, SNAP is...
Agents in Network Management (2000)
Ertugay, Osman, Hicks, Michael, Smith, Jonathan M, Kornblum, Jessica
The ubiquity and complexity of modern networks require automated management and control. With increases in scale, automated solutions based on simple data access models such as SNMP will give way to...
Practical Programmable Packets (2000)
Moore, Jonathan T, Hicks, Michael, Nettles, Scott
We present SNAP (Safe and Nimble Active Packets), a new scheme for programmable (or active) packets centered around a new lowlevel packet language. Unlike previous active packet approaches, SNAP is...
Safe and Flexible Dynamic Linking of Native Code (2000)
Crary, Karl, Hicks, Michael, Weirich, Stephanie C
We present the design and implementation of a framework for flexible and safe dynamic linking of native code. Our approach extends Typed Assembly Language with a primitive for loading and...
Safe and flexible dynamic linking of native code (2000)
Michael Hicks, Stephanie Weirich, Karl Crary
Abstract. We present the design and implementation of the first complete framework for flexible and safe dynamic linking of native code. Our approach extends Typed Assembly Language with a primitive...
A calculus for dynamic loading (2000)
Michael Hicks, Stephanie Weirich
A calculus for dynamic loading is presented and proved sound. The calculus extends the polymorphic -calculus with a load primitive that dynamically loads terms that are closed, with respect to...
Safe and Flexible Dynamic Linking of Native Code (2000)
Karl Crary, Michael Hicks, Stephanie Weirich
We present the design and implementation of a framework for flexible and safe dynamic linking of native code. Our approach extends Typed Assembly Language with a typechecking primitive, which is...
Safe and Flexible Dynamic Linking of Native Code (2000)
Michael Hicks, Stephanie Weirich, Karl Crary
We present the design and implementation of the first complete framework for exible and safe dynamic linking of native code. Our approach extends Typed Assembly Language with a primitive for loading...
Safe and flexible dynamic linking of native code (2000)
Michael Hicks, Stephanie Weirich, Karl Crary
Abstract. We present the design and implementation of the first complete framework for flexible and safe dynamic linking of native code. Our approach extends Typed Assembly Language with a primitive...
Chunks in PLAN: Language Support for Programs as Packets (1999)
Moore, Jonathan T, Hicks, Michael, Nettles, Scott
Chunks are a programming construct in PLAN, the Packet Language for Active Networks, comprised of a code segment and a suspended function call. In PLAN, chunks provide support for encapsulation and...
Hicks, Michael, Keromytis, Angelos D
Active Networks promise greater flexibility than current networks, but threaten safety and security by virtue of their programmability. In this paper, we describe the design and implementation of a...
Michael Hicks, Angelos D. Keromytis
Abstract. Active Networks promise greater exibility than current networks, but threaten safety and security by virtue of their programmability. In this paper, we describe the design and...
Michael Hicks, Angelos D. Keromytis, Jonathan M. Smith
Abstract—Active networks, being programmable, promise greater flexibility than current networks. Programmability, however, may introduce safety and security risks. This correspondence describes the...
Michael Hicks, Angelos D. Keromytis
Abstract. Active Networks promise greater exibility than current networks, but threaten safety and security by virtue of their programmability. In this paper, we describe the design and...
PLANet: an Active Internetwork (1999)
Michael Hicks, Jonathan T. Moore, D. Scott Alex, Carl A. Gunter, Scott M. Nettles
We present PLANet: an active network architecture and implementation. In addition to a standard suite of Internetlike services, PLANet has two key programmability features: 1. all packets contain...
Dynamic Software Updating (1999)
A dynamically updateable system may be changed at runtime to add or alter functionality for the purpose of bug-fixes, improved efficiency, or customizability. We propose to improve on the practice of...
Transparent Communication for Distributed Objects in Java (1999)
Michael Hicks Suresh, Michael Hicks, Suresh Jagannathan, Richard Kelsey, Jonathan T. Moore, Cristian Ungureanu
We describe a native-code implementation of Java that supports distributed objects. In order to foster the correctness of distributed programs, remote access is syntactically and semantically...
Transparent Communication for Distributed Objects in Java (1999)
Michael Hicks, Suresh Jagannathan, Richard Kelsey, Jonathan T. Moore, Cristian Ungureanu
We describe a native-code implementation of Java that supports distributed objects. In order to foster the correctness of distributed programs, remote access is syntactically and semantically...
Chunks in PLAN: Language Support for Programs as Packets (1999)
Jonathan T. Moore, Michael Hicks, Scott Nettles
Chunks are a programming construct in PLAN, the Packet Language for Active Networks, comprised of a code segment and a suspended function call. In PLAN, chunks provide support for encapsulation and...
Michael Hicks, Angelos D. Keromytis
. Active Networks promise greater flexibility than current networks, but threaten safety and security by virtue of their programmability. In this paper, we describe the design and implementation of a...
PLANet: An Active Internetwork (1999)
Michael Hicks, Jonathan T. Moore, D. Scott Alex, Carl A. Gunter, Scott M. Nettles
We present PLANet: an active network architecture and implementation. In addition to a standard suite of Internet-like services, PLANet has two key programmability features: 1. all packets contain...
Transparent Communication for Distributed Objects in Java (1999)
Michael Hicks Suresh, Michael Hicks, Suresh Jagannathan, Richard Kelsey, Jonathan T. Moore, Cristian Ungureanu
We describe a native-code implementation of Java that supports distributed objects. In order to foster the correctness of distributed programs, remote access is syntactically and semantically...
PLANet: An Active Internetwork (1999)
Michael Hicks, Jonathan T. Moore, D. Scott Alex, Carl A. Gunter, Scott M. Nettles
We present PLANet: an active network architecture and implementation. In addition to a standard suite of Internet-like services, PLANet has two key programmability features: 1. all packets contain...
Chunks in PLAN: Language Support for Programs as Packets (1999)
Jonathan T. Moore, Michael Hicks, Scott Nettles
Chunks are a programming construct in PLAN, the Packet Language for Active Networks, comprised of a code segment and a suspended function call. In PLAN, chunks provide support for encapsulation and...
Michael Hicks, Angelos D. Keromytis
. Active Networks promise greater flexibility than current networks, but threaten safety and security by virtue of their programmability. In this paper, we describe the design and implementation of a...
A Taxonomy of Active Code (1999)
D. Scott Alexander, Michael Hicks, Angelos D. Keromytis, Jonathan T. Moore, Scott M. Nettles, Jonathan M. Smith
. We have developed a classification of active networking architectures which includes active packets and active extensions. This taxonomy is based on the nature of the programs used by programmers....
Michael Hicks, Angelos D. Keromytis
Active Networks promise greater flexibility than current networks, but threaten safety and security by virtue of their programmability. In this paper, we describe the design and implementation of a...
Michael Hicks, Angelos D. Keromytis
Active Networks promise greater flexibility than current networks, but threaten safety and security by virtue of their programmability. In this paper, we describe the design and implementation of a...
Active Networks offer the ability to program the network on a per-router, per-user, or even per-packet basis. Unfortunately, this added programmability compromises the security of the system by...
Types and Intermediate Representations (1998)
The design objectives and the mechanisms for achieving those objectives are considered for each of three systems, Java, Erlang, and TIL. In particular, I examine the use of types and intermediate...
1 Introduction PLAN System Security (1998)
Active Networks o er the ability to program the network on a per-router, per-user, or even
Michael Hicks July, Michael Hicks
This paper presents a series of additions and changes to the PLAN system to implement this security architecture. In particular, we desire to
PLAN: A Packet Language for Active Networks (1998)
Michael Hicks, Pankaj Kakkar, Jonathan T. Moore, Carl A. Gunter, Scott Nettles
PLAN (Packet Language for Active Networks) is a new language for programs that form the packets of a programmable network. These programs replace the packet headers (which can be viewed as very...
A Study of Large Object Spaces (1998)
Michael Hicks, Luke Hornof, Jonathan T. Moore, Scott M. Nettles
This paper examines the design space for copying garbage collectors (GCs) in which "large objects" are managed in a separate, non-copy-collected space. We focus on two main issues: 1. how...
A Study of Large Object Spaces (1998)
Michael Hicks, Luke Hornof, Jonathan T. Moore, Scott M. Nettles
This paper surveys the LOS design space, and identifies a wide variety of issues that might affect their design. It then places the literature into this framework. The main contribution of the paper...
Network Programming Using PLAN (1998)
Michael Hicks, Pankaj Kakkar, Jonathan T. Moore, Carl A. Gunter, Scott Nettles
. We present here a methodology for programming active networks in the environment defined by our new language PLAN (Packet Language for Active Networks). This environment presumes a two-level...
PLAN: A Programming Language for Active Networks (1998)
Michael Hicks, Pankaj Kakkar, Jonathan T. Moore, Carl A. Gunter, Scott Nettles
PLAN (Programming Language for Active Networks) is a new language for programs that are carried in the packets of a programmable network. PLAN programs replace the packet headers (which can be viewed...
Network programming using PLAN (1998)
Michael Hicks, Pankaj Kakkar, Jonathan T. Moore, Carl A. Gunter, Scott Nettles
fmwh�pankaj�jonm�gunter�nettlesg�dsl.cis.upenn.edu Abstract. We present here a methodology for programming active net� works in the environment de�ned by our new language PLAN �Packet...
PLAN: A packet language for active networks (1998)
Michael Hicks, Pankaj Kakkar, Jonathan T. Moore, Carl A. Gunter, Scott Nettles
PLAN (Packet Language for Active Networks) is a new language for programs that form the packets of a programmable network. These programs replace the packet headers (which can be viewed as very...
A Service Layer Routing Protocol for PLAN (1997)
1 Introduction PLAN (Programming Language for Active Networks) is designed to offer greater networking flexibility by providing the means to execute packet-carried programs in the network...
General-purpose persistence using flash memory (1997)
Jonathan T. Moore, Michael Hicks, Scott Nettles
Flash memory is a solid-state semiconductor memory technology that has interesting price, performance, and semantic tradeoffs. We've developed Gordon, a generalpurpose persistence system for...
General-Purpose Persistence Using Flash Memory (1997)
Jonathan T. Moore, Michael Hicks, Scott Nettles
Flash memory is a semiconductor memory technology that has interesting price, performance, and semantic tradeoffs. We have developed Gordon, a general-purpose persistence system for Standard ML that...
The Measured Cost of Copying Garbage Collection Mechanisms (1997)
Michael Hicks, Jonathan T. Moore, Scott M. Nettles
We examine the costs and benefits of a variety of copying garbage collection (GC) mechanisms across multiple architectures and programming languages. Our study covers both low-level object...
The Measured Cost of Copying Garbage Collection Mechanisms (1997)
Michael Hicks, Jonathan T. Moore, Scott M. Nettles
We examine the costs and benefits of a variety of copying garbage collection (GC) mechanisms across multiple architectures and programming languages. Our study covers both low-level object...
Graduate Research Assistants: Seven Merrihew (1995)
Prof Robert, J. Twiggs, Durand Rm, Brian Engberg, Michael Hicks, Clemens Tulier
Design of a steel piled pier with a timber deck /--by Michael Hicks. (1989)
Thesis (M. Eng.)--California Polytechnic State University, 1989.
The author examines the role highway infrastructure and local property tax rate variability play in retail agglomeration in Indiana from 1988 through 2003. To account for data errors and the...
Wal-Mart’s Impact on Local Revenue and Expenditure Instruments in Ohio, 1988–2003
This research estimates fiscal impacts of Wal-Mart in Ohio from 1985 through 2003. Using a panel of counties, and accounting for spatial autocorrelation in an instrumental variable model I estimate...
Differential expectations in monetary theory /
Thesis (Ph. D.)--Harvard University, 1975.
This paper reports the effect of intra and international conflict on domestic investment in South America from 1950-2000. We combine data from the Penn World Table 6.1 and the Militarized Interstate...