论文部分内容阅读
传统的软件度量方法己不能对大型软件进行有效度量,因此如何度量大型软件成为软件领域的一个挑战。近年来,研究者发现软件结构网络展现出复杂网络特性,又因软件的系统(拓扑)结构会影响其质量特征,这为软件度量的发展开辟了一条新道路。针对上述问题,本文以学科交叉融合为背景、以量化软件度量为目标,力图探索和提出一套系统的软件网络度量方法。本文首先设计并实现软件网络度量分析平台,该平台能够对软件源代码进行解析,抽取相应的软件网络,计算该网络的拓扑特征值,并基于本文提出的基于软件网络特征值偏差率的特征值度量方法对软件网络进行度量。其次,基于软件网络度量分析平台对开源软件样本的分析结果,使用统计学方法对宏观拓扑特征值进行分析研究,结果表明平均最短路径长度、节点平均度以及图的核数随着软件网络节点数的增大而增大,标准结构熵却随着节点数的增大而减小,而平均节点聚类系数与节点数没有表现出明显的关系。最后,基于软件网络宏观拓扑特征值的特性,提出了软件网络特征值偏差率和软件相对规模质量特征的概念,并以此为基础对平均最短路径长度偏差率(D(AP))、节点平均度偏差率(D(AD))以及标准结构熵偏差率(D(E))进行度量,以此反映相应特征值对软件的执行效率、代码结构的复杂性以及有序性(可维护性)的影响,实验表明该度量方法可行有效,且分析可知:当D(AP)>0.7、D(AD)>0.5或D(E)>0.05时,相应的软件质量特性有较大优化空间。本文的工作不仅为软件网络研究提供了专业的分析工具,而且为软件网络度量提供了理论依据和方法。