java 复杂网络分析_基于复杂网络的Java程序分析工具设计与实现思路浅谈

基于复杂网络的Java程序分析工具设计与

实现思路浅谈

摘要:近年来,随着科学技术的进步,计算机技术发展速度的加快,使得软件价值也逐步提高,不管是软件系统的应用领域,还是其规模均获得了相应的扩大,且软件系统也便得非常复杂。而这些也在一定程度上加大了软件系统的开发、维护与测试工作的难度。鉴于这种情况,为有效地解决这些问题与难题,更加深入地了解在系统生命周期范围内系统变化规律,该文就基于复杂网络的Java程序分析工具设计以及实现思路进行详细地阐述。

关键词:复杂网络;设计;Java程序;思路;分析工具;实现

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)06-1246-02

1 概述

随着社会经济发展速度的加快,信息技术水平与人们生活水平的提高,使得复杂网络也越来越被人们所关注,对其的研究也逐步增多,且在社会学、生态学以及统计物理学等各个领域也获得相应的发展以及延伸。复杂网络自身具有大平均聚集系数小世界效应、幂律度分布物的无标度特性及小平均路径长度,这种网络为复杂系统演化规律以及整体行为的研究与描述提供了相应的工具。常见的软件系统主要由不同的粒度单元以及这些单元之间所存的这种交互关系所组成,基于此,也可将复杂系统看作是复杂网络。下面笔者基于自身多年工作经验的积累以及总结,就基于复杂网络的Java程序分析工具—JPAC工具为例,就其设计以及实现进行详细地阐述。

2 基于复杂网络的Java程序分析工具——JPAC工具

2.1 结构

JPAC工具就是建立一个复杂网络供于Java软件系统结构。该工具需分析Java程序代码,同时分析所建网络的网络特征,显示出其特征,并基于此模拟软件系统结构的演化规律。除此之外,该工具还可提供一种比较抽象的网络。基于上述内容,可将该工具按照层次来划分,其结构主要划分为三个模块,主要如下:

第一,数据分析层。在该工具中,数据分析层是最底层,该层不仅可与XML文档交互,同时还可与Java代码交互,最后再将交互过程封装。该层可不用依靠高层而存在,对此,用户可在数据分析层的基础上,结合自身的实际需求增加相应的功能。

第二,数据运算层。该层在数据分析层的基础上提供各种运行功能,比如统计分析或者演化模拟等。在此所指的运算为操作以及计算网络计算机,该层能够实现扩展。

第三,用户界面层。该层位于最上层,其主要的任务是可视化网络计算机,并可视化所得到的运算结果,以此为不同用户提供相应的操作等。

2.2 设计

1)数据分析层

第一,JPAC工具中数据分析层主要有三个方面的功能,即分析Java代码、生成网络计算机内部表示以及存取文件。当数据分析层读入的是Java文件,则判断为字节码文件还是为源文件,若为源文件,则先把其翻译并生成为字节码文件,并通过BCEL技术来进行分析,将基于该技术所获得的类信息来进行网络图的构建。若在工具运行过程中,读入的是XML类型的文档,则可用DOM技术来进行分析,同时基于此构建相应的网络图,该网络图不仅可应用于系统结构中的高层,同时还可借助于之前的文档形式来储存。数据分析层主要包含离五个类图,即ProgInput、XMLParse、DataLayer、JavaBinDataLayer、RandomDataLayer,其中ProgInput属于抽象类,其主要的功能为Java文件的读入和解析,为文件读入提供了抽象方法;XMLParse可实现XML文档的读入以及保存,在DOM技术的基础上解析XML文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值