论文部分内容阅读
如今,软件结构复杂性的日益增加直接导致了软件系统故障的复杂性增加,开发和维护过程成本加大。在不同粒度的不同层次对软件体系结构进行故障特性分析,可以有针对性地为软件可靠性分析提供研究基础。 首先,根据软件的动态执行过程,构建了一种以函数为节点、调用关系为边、调用次数为权重的软件网络模型。基于复杂网络在函数粒度、节点和行为模式两个层次上分析软件的故障特性。 其次,根据函数的故障累积和传播特性,采用递归方法,分别定义了函数的故障可能性度量标准 FP 和故障传播能力度量标准 FPC。通过算法 MFP_AN(Mining fault probability of all nodes)和MFPC_AN(Mining fault propagation capability of all nodes)分别得到了故障可能性大和故障传播能力强的重要节点。综合故障可能性和故障传播能力两个因素,定义了函数的故障严重性度量标准 FS ,通过算法MFS_AN(Mining fault severity of all nodes)来评估节点的故障严重性。通过以上多个角度分析软件故障特性,在软件网络中挖掘重要节点,有利于发现故障产生和故障传播的行为本质。 再次,根据故障可能性大和故障传播能力强的重要节点,提出了算法INFB-ACS(Fault behavior analysis of important node based on ACS),基于蚁群系统算法来分析重要节点的故障行为模式。根据软件的工作机制,改进蚁群系统的选择和更新机制,发现软件网络中故障可能性大和故障传播能力强的重要节点的路径,分析其故障累积和传播的规律,可分别用于软件系统中随机故障、蓄意攻击等有针对性的检测定位。 最后,针对本文提出的方法,分别在两个实际软件网络中进行实验分析,验证了本文所提方法的正确性和有效性。