Font Size: a A A

Error Diagnosis Technique And Tools Based On Alias Analysis In Java Program Maintenance

Posted on:2009-05-27Degree:MasterType:Thesis
Country:ChinaCandidate:Z B ZhangFull Text:PDF
GTID:2178360272478008Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
In software maintenance, quite a lot of errors are generated by incorrect operations of an alias expression to an object which that expression refers to. For software-related errors, this paper discussed the alias analysis based error diagnosis technique, as well as the design and implementation of alias analysis based error-diagnosis tools.Alias analysis is a way for extracting a set of expressions which may refer to the same storage location in program execution, and it is very important for program analysis. As to practical tools for software maintenance and support, the time complexity of an analysis and effective reuse of analysis results are the main concern. Therefore, according to special requirements in software maintenance, this paper adopts a multi-stage analysis strategy based on knowledge base and incremental. Take a single method as a module to construct its alias relation graph and control flow graph, when some part of the analyzed program changes, we need not analyze the whole program again, only changed parts and corresponding things have to be re-analyzed. Analysis results update the original information in program knowledge base in which the information is described and stored with XML. This analysis strategy improves the reusability of results. The whole strategy consists of two analysis phases. The first phase focuses on alias analysis intra-class classes, and treats analysis results as the knowledge base for the program information. The second phase is about inter-class alias analysis based on the program information knowledge base. During the first phase, we mainly analyze the alias information set for each method within a class.This paper makes appropriate changes to the traditional flow-sensitive interprocedural alias analysis, which is applied to intra-class alias analysis. In addition, we construct the control flow graph containing exception-handing structures according to those exception-handing structures.The control flow graph can provides support for intra-method alias analysis of programs containing exception structures. The second phase is mainly about inter-class alias analysis. In this phase, according to specific errors exposed in software execution, users set corresponding alias standards. Then on the basis of intra-class alias information and method call information stored in the knowledge base XML, they use alias computation algorithm presented in this paper to compute the alias information related to alias standards.
Keywords/Search Tags:Control Flow Graph, Flow-sensitive Analysis, Alias Relation Graph, Alias Analysis, Software Maintenance
PDF Full Text Request
Related items