Termination and Rollback in Language-Based Systems

Authors
Algis Rudys

Abstract
Language run-time systems are routinely used to host potentially buggy or malicious code in a secure environment. For this thesis, we address a single aspect of the resource-management problem, the problem of code termination, including the related issue of restarting previously terminated code. We provide formal analysis, including proofs of the correctness of our termination system for an idealized language. We also consider implementations of our systems in Java using bytecode rewriting. The performance impact of these systems ranged from relatively modest (3 to 25% overhead for soft termination), to severe, although perhaps unavoidable (6 to 23x overhead for transactional rollback). We discuss the technique of bytecode rewriting as used here to modify the semantics of a language. Our goal is to provide a mechanism based on code-to-code transformations with semantics for codelets in a run-time system similar to the semantics provided by operating systems for managing processes.

Published
Masters of Science Thesis, Department of Computer Science, Rice University, Houston, TX, December 2002.

Download
Postscript
Adobe PDF

BibTEX Entry
@MastersThesis{rudys2002mastersthesis,
      author =  "Algis Rudys",
      title =  "Termination and Rollback in Language-Based Systems",
      school =  "Rice University",
      type =  "Masters of Science",
      year =  2002,
      address = "Houston, TX",
      month = dec
}


arudys@rice.edu, Department of Computer Science, Rice University
Last modified: Fri Dec 6 15:37:22 CST 2002