基于复杂网络理论的Java应用系统程序分析
发布时间:2017-09-11 22:04
本文关键词:基于复杂网络理论的Java应用系统程序分析
更多相关文章: 复杂网络 Java应用系统 小世界网络 幂律分布 类依赖关系 函数依赖关系
【摘要】:近年来,计算机科学领域发现利用复杂网络理论可以支持复杂的大型开源系统的程序分析,弥补了传统程序静态分析和动态分析方法的缺陷,并且能够以图论的方式实现可视化的程序结构性质分析。本文以复杂网络理论为基础,从小世界网络性质和无标度网络性质两点对Java应用系统进行程序分析,研究内容共有五点:一、对Java应用系统进行了类型调研,选用了符合常规类型的10种开源系统,并各选取3个系统作为样本,以保证实验数据的多样性和全面性;二、基于复杂网络理论,针对Java应用系统构建程序网络,并定义了明确的类依赖关系和函数依赖关系;三、基于以上所构建的程序网络,设计并实现了具体的依赖关系提取和加权算法,获取依赖关系所对应的有向加权网络;四、提取类依赖关系网络及函数依赖关系网络的拓扑特征值,并刻画其小世界网络性质用以分析和判断程序设计的优劣;五、计算有向加权网络中的出度及入度分布,并进一步通过幂律分布模型验证程序网络是否具有无标度特性,用以归纳Java应用系统的整体结构性质。通过一系列的实验分析,我们发现在Java应用系统中,类依赖关系网络具有小世界性质,而函数依赖关系并不具备该性质。此外,对于绝大多数系统而言,无论是出度还是入度分布都可能满足幂律分布。从这两个实验结论可以看出,在Java应用系统中,类结构符合高内聚低耦合的软件工程设计标准,且每一类系统都可能具有鲁棒性和脆弱性。实验表明,通过分析这两种网络拓扑性质既可以简单评判和呈现系统的结构特征,也可以帮助开发和维护人员利用复杂网络分析结论设计并优化开源软件系统,以实现优秀的软件架构和最佳的系统迭代。
【关键词】:复杂网络 Java应用系统 小世界网络 幂律分布 类依赖关系 函数依赖关系
【学位授予单位】:华东师范大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:O157.5;TP312.2
【目录】:
- 摘要6-7
- ABSTRACT7-13
- 第一章 绪论13-19
- 1.1 研究背景及意义14-15
- 1.2 国内外研究现状15-16
- 1.3 研究内容及组织结构16-19
- 第二章 程序分析相关技术19-37
- 2.1 复杂网络理论19-21
- 2.2 网络图的表示21-24
- 2.2.1 图的定义与分类21-23
- 2.2.2 图的计算机表示23-24
- 2.3 网络拓扑性质24-33
- 2.3.1 小世界性质24-29
- 2.3.2 无标度性质29-33
- 2.4 Java字节码33-35
- 2.5 本章小结35-37
- 第三章 程序分析实验设计37-49
- 3.1 程序分析流程设计37-39
- 3.2 应用系统类型选择39-41
- 3.3 实体依赖关系分析41-43
- 3.4 网络加权模型设计43-45
- 3.5 依赖关系提取及处理45-48
- 3.6 本章小结48-49
- 第四章 程序分析算法实现49-65
- 4.1 程序字节码解析算法49-52
- 4.2 实体依赖关系加权算法52-54
- 4.3 程序网络特征值计算54-59
- 4.3.1 小世界性质计算54-56
- 4.3.2 幂律分布计算56-59
- 4.4 幂律分布验证算法59-61
- 4.5 本章小结61-65
- 第五章 程序分析实验结果65-69
- 5.1 程序网络小世界性质分析65-66
- 5.2 程序网络出入度分布情况66-67
- 5.3 本章小结67-69
- 第六章 总结与展望69-71
- 6.1 本文总结69-70
- 6.2 未来工作展望70-71
- 参考文献71-77
- 致谢77-79
- 发表论文和科研情况79
【参考文献】
中国期刊全文数据库 前2条
1 张健;;精确的程序静态分析[J];计算机学报;2008年09期
2 杨宇;张健;;程序静态分析技术与工具[J];计算机科学;2004年02期
中国硕士学位论文全文数据库 前1条
1 冀佩刚;程序静态分析研究[D];兰州大学;2006年
,本文编号:833311
本文链接:https://www.wllwen.com/kejilunwen/yysx/833311.html