| 【中文题名】 | Java程序分层及概率依赖性分析 |
| 【英文题名】 | Hierarchical and Probabilistic Dependence Analysis of Java Programs |
| 【学科专业】 | 计算机软件与理论 |
| 【论文级别】 | 硕士论文 |
| 【投稿时间】 | 2007-3-2 |
| 【中关键词】 | 面向对象,依赖性分析,粗粒度,概率,重构,软件度量 |
| 【英关键词】 | object-oriented,dependence analysis,coarse grain,probability,refactoring,software metrics, |
| 【分类导航】 | 工业技术>自动化技术、计算机技术>计算技术、计算机技术>计算机软件>> |
| 【论文摘要】 |
程序依赖性分析是软件工程领域中一项重要而基础的活动,它是对已有程序分析与理解的基础,并在程序切片、逆向工程、软件测试以及软件重构等软件工程各个领域都有着重要的意义。Java语言由于其优越的跨平台性,在异构网络系统中使用愈加频繁。随着软件产品的急剧增多,越来越多的遗产代码需要进行分析、理解、复用,对Java程序进行依赖性分析的必要性也与日俱增。
由于Java程序设计语言完全面向对象的特性,现有的依赖性方法已不能完全满足其分析要求。本文在回顾传统依赖性分析方法基础之上,详细阐述了一种分层次的粗粒度依赖性分析方法,按照自顶向下,逐步求精的原则依次分析Java程序在包级别、类级别以及方法级别上的依赖关系,并在语句级别的分析中,按照按需细化的原则,只对所关心的语句进行依赖性分析,降低了系统依赖性分析的代价。在语句级别的依赖性分析中,本文还进一步讨论了程序执行期间语句执行的概率信息,并提出了考虑语句执行概率的依赖性分析方法。分别分析程序中不同的控制结构与方法调用方式,对其后续程序语句的执行概率的影响,从而更加准确地描述程序在执行期间的依赖关系。本文介绍了分层次及概率依赖性分析在软件重构、软件度量以及软件... |
| 【论文题纲】 |
|
摘要 |
5-6 |
|
Abstract |
6-9 |
|
第一章 引言 |
9-12 |
|
1.1 选题依据 |
9 |
|
1.2 研究历程与现状 |
9-10 |
|
1.3 研究内容 |
10-11 |
|
1.4 论文结构 |
11-12 |
|
第二章 依赖性分析的基础理论 |
12-18 |
|
2.1 依赖性分析的基本概念 |
12-15 |
|
2.1.1 程序流图 |
12-13 |
|
2.1.2 控制依赖 |
13 |
|
2.1.3 数据依赖 |
13-14 |
|
2.1.4 程序依赖图 |
14 |
|
2.1.5 系统依赖图 |
14-15 |
|
2.2 程序切片 |
15-17 |
|
2.2.1 切片技术的分类 |
16-17 |
|
2.2.2 现有切片的不足 |
17 |
|
2.3 本章小结 |
17-18 |
|
第三章 Java 分层及概率依赖性分析 |
18-27 |
|
3.1 面向对象程序依赖性分析 |
18-20 |
|
3.1.1 程序开发技术发展简介 |
18-19 |
|
3.1.2 面向对象程序的特点 |
19 |
|
3.1.3 面向对象程序依赖性分析策略 |
19-20 |
|
3.2 Java 分层依赖性分析 |
20-24 |
|
3.2.1 层次模型 |
20-23 |
|
3.2.2 包间依赖性分析 |
23 |
|
3.2.3 类间依赖性分析 |
23 |
|
3.2.4 方法间依赖性分析 |
23-24 |
|
3.2.5 语句间依赖性分析 |
24 |
|
3.3 Java 概率依赖性分析 |
24-26 |
|
3.3.1 方法内概率依赖分析 |
24-26 |
|
3.3.2 方法间概率依赖分析 |
26 |
|
3.3.3 引入依赖 |
26 |
|
3.4 本章小结 |
26-27 |
|
第四章 分层及概率依赖性分析的应用 |
27-33 |
|
4.1 软件重构 |
27-30 |
|
4.2 类内聚度缺乏度量 |
30-31 |
|
4.3 软件测试与程序理解 |
31-32 |
|
4.4 本章小结 |
32-33 |
|
第五章 系统设计与实现 |
33-37 |
|
5.1 系统设计思想 |
33 |
|
5.2 系统总体结构 |
33-34 |
|
5.3 系统详细设计 |
34-36 |
|
5.3.1 主要数据结构 |
34-35 |
|
5.3.2 依赖性分析算法 |
35-36 |
|
5.4 本章小结 |
36-37 |
|
第六章 总结 |
37-38 |
|
致谢 |
38-39 |
|
参考文献 |
39-40 |
|
| 【DOI】 | LunWen.ID:2.2008.356829 |