Applying mutable object snapshots to a high level object-oriented language / by Matthew C. Davis.

Author/creator Davis, Matthew C. author.
Other author Hills, Mark, degree supervisor.
Other author East Carolina University. Department of Computer Science.
Format Theses and dissertations
Publication[Greenville, N.C.] : [East Carolina University], 2018.
Description130 pages : illustrations
Supplemental ContentAccess via ScholarShip
Subjects

Summary Software Engineers are familiar with mutable and immutable object state. Mutable objects shared across modules may lead to unexpected results as changes to the object in one module are visible to other modules sharing the object. When provided a mutable object as input in Java, it is common practice to defensively create a new private copy of the object bearing the same state via cloning, serializing/de-serializing, specialized object constructor, or third-party library. No universal approach exists for all scenarios and each common solution has well-known problems. This research explores the applicability of concepts within the Computer Engineering storage field related to snapshots. This exploration results in a simplified method of memory snapshotting implemented within OpenJDK 10. A novel runtime-managed method is proposed for declaring intent for object state to be unshared within the method signature. Preliminary experiments evaluate the attributes of this approach. A path for future research is proposed, including differential snapshots, alternative block sizes, improving performance, and exploring a tree of snapshots as a foundation to reason about changes to object state over time.
General notePresented to the faculty of the Department of Computer Science
General noteAdvisor: Mark Hills
General noteTitle from PDF t.p. (viewed June 4, 2019).
Dissertation noteM.S. East Carolina University 2018.
Bibliography noteIncludes bibliographical references.
Technical detailsSystem requirements: Adobe Reader.
Technical detailsMode of access: World Wide Web.

Availability

Library Location Call Number Status Item Actions
Electronic Resources Access Content Online ✔ Available