|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
8 V- D( L5 Q) o% C7 U6 m* r
基于Chameleon聚类分析的多错误定位方法
7 d6 {! v/ F+ k K4 s
3 W& q0 V4 V! d! o8 F, ^- {+ v- R% d- ^/ m2 T1 ]
摘要:软件系统中往往存在多个错误,它们之间互相干扰,这抑制了错误定位的能力.为解决该问题,提出一种基于Chamelelon聚类分析的多错误定位方法.首先,将每一个失败程序执行轨迹和所有成功程序执行轨迹合并,计算其怀疑度,按怀疑度大小选取高可疑元素作为程序执行轨迹的特征元素,按照该特征元素对失败程序执行轨迹进行约简;其次,聚类分析将失败程序执行轨迹分簇,每簇包含一个错误;然后,将失败程序执行轨迹簇与所有成功程序执行轨迹合并,重新计算其怀疑度;最后,根据合并后的簇生成的怀疑度序列,采用并行调试模式同时定位程序中的多个错误.实证研究表明该方法可以有效地定位程序中的多个错误.
, g/ r' H& O0 P8 ^) w4 D关键词:软件调试;错误定位;聚类分析;多错误% W8 D$ F2 D5 W8 q
+ t5 @; ~. l- ^/ G" N
* S* B, \" ?/ k: |1 ~) J+ n5 [1引言( C9 D3 i' E4 }: X8 |" A
目前,研究人员已在软件错误定位领域进行了大量研究,但是大多数工作只关注单个错误的定位问题,而对多错误的定位问题研究较少.然而,一个软件系统中往往包含多个错误,它们之间会互相干扰,降低了错误定位的效率".这给软件错误定位研究带来巨大的挑战.因此,深入研究多错误的定位问题,设计出更加高效的多错误定位模型或方法具有重要意义.
2 _8 |: ?% Z4 H" N! X w8 Y程序执行失效暴露了程序中包含错误.王建峰等人根据组合测试数据执行结果生成可能的错误交互集来查找软件错误[2.然而调试人员通常不清楚是由单个错误还是由多个错误引起程序执行失效.调试人员可以选择使用一个失败测试用例来寻找程序执行失败8 D% L4 [. S( n/ b
6 c% i6 H! w4 z$ R' ~# J1 O8 s( i
( d9 a* g8 H3 R9 Y, f
# ]4 l4 y5 [+ K" L( v |
|