A Comprehensive Context for Mobile-Code Deployment

Abstract

Given the acknowledged importance of mobile code, current distribution models are surprisingly primitive. For example, Java's model assumes that the constituent parts that make up a mobile program will all be downloaded to a single location, and then verified, linked, possibly dynamically compiled, and finally executed at that very location. This research project made three important contributions: First, it demonstrated that it can be beneficial to perform verification, dynamic compilation, and execution at different physical locations. A prototype was built that performs code verification and just-in-time compilation at a "code generating router" inside the network itself. If the end-points of the network are resource-limited devices such as wirelessly-connected personal digital assistants (PDA's), off-loading dynamic code generation to the stationary network can result in substantial benefits. As a second contribution, the project identified a novel attack on mobile code systems, based on the complexity of the code verification algorithm itself. The third contribution is a new mobile-code verification algorithm that not only lacks this vulnerability, but that is also more efficient.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 2005
Accession Number
ADA437278

Entities

People

  • Michael Franz

Organizations

  • University of California, Irvine

Tags

Communities of Interest

  • Cyber
  • Energy and Power Technologies
  • Human Systems

DTIC Thesaurus Topics

  • Computer Program Documentation
  • Computer Program Reliability
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Cybersecurity
  • Energy Consumption
  • Machine Languages
  • Mobile Devices
  • Mobile Phones
  • Network Architecture
  • Object Code
  • Operating Systems
  • Personal Digital Assistants
  • Programming Languages
  • Web Browsers

Fields of Study

  • Computer science

Readers

  • Parallel and Distributed Computing.
  • Software Engineering.
  • Systems Analysis and Design