Dynamic Object Flow Analysis

make_name_string expected hash reference (2008). Dynamic Object Flow Analysis. (Dissertation, University of Bern, Philosophisch-naturwissenschaftliche Fakultät)

[img]
Preview
Text
lienhard-phd.pdf - Published Version
Available under License Creative Commons: Attribution-Share Alike (CC-BY-SA).

Download (2MB) | Preview

The behavior of an object-oriented software system is notoriously hard to understand from the source code alone. The main reason is the large gap between the program's static structure and its actual runtime behavior. Features inherent to object-orientation, like object aliasing and late binding, - while providing a high degree of expressiveness to model an application domain - make programs hard to understand, maintain, and analyze. Complementary to static analysis, dynamic analysis can help to close this gap by investigating the properties of a running program. The state of the art in dynamic analysis focuses on investigating runtime control flow and structures of object graphs, but a thorough analysis of how objects are passed through a system is missing. Tracking how object references are transferred, however, is essential to analyze the dependencies introduced by object aliasing. In this dissertation we propose Object Flow Analysis, our approach to track object flow by explicitly representing object references and reference transfer. Object Flow Analysis provides an effective and original way of analyzing and runtime monitoring dependencies introduced by object aliasing. To validate Object Flow Analysis, we propose three different reverse engineering applications that, based on Object Flow Analysis, reason about aliasing dependencies in object-oriented programs. Yet Object Flow Analysis extends beyond traditional reverse engineering applications. A key contribution of our work is that we advance the state of the art in back-in-time debugging by proposing and providing an implementation of the concept of Object Flow Analysis in a high-level language virtual machine.

Item Type:

Thesis (Dissertation)

Division/Institute:

08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG)

UniBE Contributor:

Lienhard, Adrian

Subjects:

000 Computer science, knowledge & systems
500 Science > 510 Mathematics

Language:

English

Submitter:

Manuela Bamert

Date Deposited:

29 Jan 2018 15:13

Last Modified:

25 Oct 2019 19:14

BORIS DOI:

10.7892/boris.104605

URI:

https://boris.unibe.ch/id/eprint/104605

Actions (login required)

Edit item Edit item
Provide Feedback