杂记2

1、学了很多东西的用法,kiekernetworkXpythonperl脚本,understand还有java,但是觉得都是懂得皮毛,没有深入分析透彻,所以还是把一门工具用熟悉了,学会用它来解决具体问题,而不是简单的“会用”,其他的工具大概了解了以后,等到用到的时候深入学习,这样才会有高效率。

所以又大概看了一遍kiekeruserguide,理解加深了不少。

主要的还是最后面的traceAnalysis,有两种方式来进行监控,aop.xml用来配置AspectJ,意思就是告诉AspectJ它应该怎么做,如果是用annotation方式,那么就需要人工对源代码进行修改,就是对想要监控的方法进行标记,然后分析;还有一种在aop.xml中直接用full代替annotation,这样就会对所有的方法监控了。

另外一个问题,Tomcat启动一闪而过,老是提示说CATALINA_HOME环境变量没有设置对,但是环境变量明明是设置好了的,以前用都没有问题,不知道是什么原因,后来网上看到说把startup.bat文件最后一行中的start改为run就能启动了,果真如此,不知道高手们是怎么发现这个问题的。

Kieker中包含应用了aspectjjava EEservletspring等技术的探针,就是说程序插桩可以用这些工具来解析,目前只知道aspectj的原理,其他的两个没有用到,所以还不清楚。

 

2“Characterizingthe Structure Quality of General Complex Software Networks”

本篇文章提出一个新的测量指标:定义平均传播率pc来刻画软件结构性,从中反映出适应性和可维护性,pc的值越小越好,pc的定义式也很好懂,大概可以反映出结点坏死可以引起的故障范围。

找到了影响这个指标的因素,与经典的复杂网络参数有关,比如说度分布、平均最短路径、最大度与最小度之差等等;而且对于无标度网络和随机网络,平均传播率是不同的,也就是说网络的分布模型(点和边的连接关系等)非常重要,星型结构传播慢,链型结构传播快。

其他可能有用的东西,这些都是经过实验证明的:

类似于社团结构划分里面的Q值,说模块性好的话有利于设计和维护;

功能在类中的分布也符合幂律分布,一个类的功能的强度与它在图中的出度有很大关系;

前辈的工作,提出一些模型描述软件系统:定义结点坏死的传播率,会传播多少个其他结点,要发现坏死的结点需要检测多少个结点;应该控制独立性,不要对其他结点产生影响几个参数;

从选择的用来实验的六个软件系统来看,它们的结点数目从3327415,但是最短路径长度都在10以内,都具有小世界和无标度特性,PC都比相应的随机网络低。

 

3、接着前面的工作,看了perl中的关联数组和二维数组,可以把java程序中方法的调用关系用邻接矩阵在understand中输出,但是要想对整个网络图进行分析,还是得要到networkX中去,但是不知道这个怎么导入,可以再看一下networkX的手册。

 

到目前为止,觉得复杂网络的调用图的静态特征掌握得差不多了,用networkX就可以进行分析;接下来重要的就是动态的特征,分析应用程序执行过程中的演化规律,这个应该是比较难的内容。所以还是先从文献着手,看看前辈们都是怎么研究的,从中多汲取营养。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值