论文部分内容阅读
随着信息技术的迅速发展,软件的迭代式升级开发使软件的规模和复杂性不断增加,模块化的设计思想导致了软件系统中的函数调用越来越多,软件的质量和可靠性变得难以把控。软件度量采用定量化的分析方法来控制软件开发过程的质量,提升软件可靠性。现有的软件度量方法主要有面向结构的软件度量和面向对象的软件度量两种,大多是基于软件设计方式和项目驱动管理的,无法针对大型项目中复杂的函数调用进行有效的分析和度量,同时也缺乏可视化等高效的度量手段,不能满足大型软件系统的软件度量需求。本文基于现有软件度量技术,提出了一套面向函数调用的软件度量机制,并提供了可视化的度量展示与分析平台。主要包括以下工作:1.提出了函数调用关系集构建机制。以抽象语法树、模块划分等技术为基础,可以构造软件系统的完整函数调用关系。2.在第一个工作的基础上提出了函数闭包的概念用于描述函数可达性,并提出了相应的闭包发现机制。通过找到从某个函数入口的一个函数调用子图,从而发现不可达函数集,为不可达代码的度量提供了前提。3.提出了面向函数调用关系的软件度量体系,定义了文本度量指标和可视化度量指标,包括:函数属性、递归调用存在性、扇入/扇出、调用层数、函数可达性及函数覆盖率等,以及相应的评估标准,进而可以围绕这些度量指标构建相应的软件度量机制。4.最后设计了层次化函数调用关系可视化度量平台。在提出的度量机制基础上设计了一种层次化布局算法,利用可视化技术分析和度量软件的函数调用关系,这一可视化度量方法对软件领域中的很多场景都具有意义。上述方法在CTS代码测试系统中得到了应用,在实际工程中得到了验证。结果表明,本文所提度量机制可以通过可视化的方式高效度量大型软件系统中的函数调用关系。