软件系统中往往存在多个错误,它们之间互相干扰,这抑制了错误定位的能力.为解决该问题,提出一种基于Chamelelon聚类分析的多错误定位方法.首先,将每一个失败程序执行轨迹和所有成功程序执行轨迹合并,计算其怀疑度,按怀疑度大小选取高可疑元素作为程序执行轨迹的特征元素,按照该特征元素对失败程序执行轨迹进行约简;其次,聚类分析将失败程序执行轨迹分簇,每簇包含一个错误;然后,将失败程序执行轨迹簇与所有成功程序执行轨迹合并,重新计算其怀疑度;最后,根据合并后的簇生成的怀疑度序列,采用并行调试模式同时定位程序中的多个错误.实证研究表明该方法可以有效地定位程序中的多个错误.
There exist usually multiple faults in software systems.Mutual interference among them inhibits the ability of fault localization.A multiple fault localization based on Chameleon clustering was proposed.First,the suspiciousness of program elements is computed based on the combination of each failed program execution trace with all passed program execution traces.The most suspicious elements are selected as feature elements,which reduced the corresponding failed program execution traces.Second,the reduced failed program execution traces are performed by clustering analysis,after that,each failed cluster contains one fault.Third,each failed cluster merges passed cluster,and then the suspiciousness of program elements is computed.Finally,multiple faults are located simultaneously in terms of the descending suspiciousness of program elements in each failed cluster in parallel debugging mode.Experimental results show that the approach located multiple faults effectively.