Font Size: a A A

Hierarchical And Probabilistic Dependence Analysis Of Java Programs

Posted on:2007-05-31Degree:MasterType:Thesis
Country:ChinaCandidate:B YuFull Text:PDF
GTID:2178360212965627Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Program dependence analysis is one of the important and fundamental activities in softeware engineering. It's the groundwork of program analysis and understanding, and it's important in most area of software engineering, such as program slicing, reverse engineering, software testing and software refactoring. Java programming language is used more and more frequently in the heterogeneous network system because of its superior platform independence. The more Java software product we have, the more legacy code need to be analysed, to be understood, and to be reused. The necessity of analysing the dependence of Java programs increases gradually.Nowadays, dependence analysis methods on hand cannot accommodate the analysing requirement of Java programming language for its completely OO-Orient characteristic. This thesis introduces a hierarchical and coarse-grained dependence analysis technology after reviewing the traditional dependence analysis technologies and analyse the dependence of Java programs at the package level, the class level and the function level respectively by the principle of "Top down, Precise stepwise". At the statement level, the particular statements are analysed in order to reduce the cost of constructing the whole program dependence relationship. At the statement level, then running probability of the statements in run-time is discussed and the method of dependence analysis which concerning the running probability of statements is proposed. We discussed the effect of different kinds of control statements and methods call in probability of sequent statements, so that we can describe the run-time dependence relationship in more details. The theory and the application of the dependence analysis concerning the probability is introduced sequentially in the thesis. We introduce a novel technology of applying the fuzzy clustering technology to software refactoring, which can quantify the characters of software refactoring and help the programmer to refactor programs in a more objective way. We also propose an improvement of LCOM(Lack of Cohesion Metric) based on the consideration of the numbers of and the dependence probability of the methods in the class, which can improve the accuracy of LCOM. At the last part of the thesis, a prototype of the theorical research is implemented and the prospect of the future work is presented.
Keywords/Search Tags:object-oriented, dependence analysis, coarse grain, probability, refactoring, software metrics
PDF Full Text Request
Related items