Lienhard, Adrian (2008). Dynamic Object Flow Analysis. (Thesis). Universität Bern, Bern
|
Text
lienhard-phd.pdf - Thesis Available under License Creative Commons: Attribution-Share Alike (CC-BY-SA 4.0). Download (2MB) | Preview |
Abstract
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 Type: | Single |
Date of Defense: | 2008 |
Subjects: | 000 Computer science, knowledge & systems 500 Science > 510 Mathematics |
Institute / Center: | 08 Faculty of Science > Institute of Computer Science (INF) 08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG) |
Depositing User: | Admin importFromBoris |
Date Deposited: | 25 Jan 2019 13:00 |
Last Modified: | 18 Feb 2019 14:31 |
URI: | https://boristheses.unibe.ch/id/eprint/1032 |
Actions (login required)
View Item |