University of Illinois at Chicago
Browse
WOLOCH-THESIS-2022.pdf (1.45 MB)

JavaMVX: Multi-version Execution for Virtual Machine Languages

Download (1.45 MB)
thesis
posted on 2022-05-01, 00:00 authored by David Woloch
Multi-version execution (MVE) is a framework that uses software diversification for the purposes of increasing security, reliability, and availability. The goal of MVE is to generate the same observable behavior between two or more similar, but different processes e.g. different releases of the same program. Generally, MVE systems must provide a way to intercept the sources of nondeterministic input into the application to ensure the same observable states. MVE systems have limitations which prevent deployment on practical applications and on managed languages. We have developed a framework, JavaMVX, which intercepts sources of nondeterminism at the Java language level through an automatic program transformation at the bytecode level. We have built a prototype implementation and applied our approach to a set of realistic Java programs in the DaCapo benchmark suite to validate the feasibility of our framework.

History

Advisor

Pina, Luis

Chair

Pina, Luis

Department

Computer Science

Degree Grantor

University of Illinois at Chicago

Degree Level

  • Masters

Degree name

MS, Master of Science

Committee Member

Mansky, William Grechanik, Mark

Submitted date

May 2022

Thesis type

application/pdf

Language

  • en

Usage metrics

    Categories

    No categories selected

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC