Font Size: a A A

Heap Object Differentiation Based On Access Path And Execution Index

Posted on:2017-01-25Degree:MasterType:Thesis
Country:ChinaCandidate:R Q LiuFull Text:PDF
GTID:2308330488978384Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
As the information technology is developing, software is applied to all aspects of modern production and living activity. The widespread using of software promotes the design, development, maintenance and analysis of software in turn. Among these, object-oriented language, technology and thoughts are very important. Programs writ-ten in modern object-oriented programming languages heavily use dynamically allo-cated objects in the heap. As a result, dynamic program analysis techniques, such as memory leak diagnosing and automatic debugging, depend on various kinds of infor-mation derived from the heap. Identifying the differences between two heaps is one of the most important tasks and provided by most free and even commercial problem di-agnosing tools that are widely used by industry. However, existing heap differentiating tools usually leverage singular kind of information and thus can only provide an im-precise result, which cannot further satisfy the requirement of other high-level dynamic analysis.To address this challenge, we propose a new heap object differentiating approach. This approach provides precise heap differentiating information. Based on this tech-nique, we design and implement a prototype system APEI and further conduct three case studies. In particular, we make the following efforts in this dissertation:1. We propose a new heap object comparison approach based on access path and exe-cution index. And we present a precise heap differentiating tool for Java programs (APEI), using hybrid information derived from execution.2. We implement APEI on an industrial-strength Java virtual machine and thus it can be seamlessly integrated in the production environment.3. We conduct case studies using APEI for three different dynamic analysis tasks on real-world applications such as Eclipse Compiler for Java (ECJ), Apache Derby and Apache FTP Server.
Keywords/Search Tags:Software Maintenance, Execution Indexing, Program Analysis, Memory Leak
PDF Full Text Request
Related items