电子学报 ›› 2017, Vol. 45 ›› Issue (2): 394-400.DOI: 10.3969/j.issn.0372-2112.2017.02.018

• 学术论文 • 上一篇    下一篇

基于Chameleon聚类分析的多错误定位方法

曹鹤玲1,3, 姜淑娟2   

  1. 1. 河南工业大学信息科学与工程学院, 河南郑州 450001;
    2. 中国矿业大学计算机科学与技术学院, 江苏徐州 221116;
    3. 粮食信息处理与控制教育部重点实验室, 河南郑州 450001
  • 收稿日期:2016-01-25 修回日期:2016-09-28 出版日期:2017-02-25 发布日期:2017-02-25
  • 通讯作者: 姜淑娟
  • 作者简介:曹鹤玲,女,1980年5月出生于河南南阳.河南工业大学信息科学与工程学院教师,CCF会员.主要研究领域为软件分析与测试、数据挖掘.E-mail:caohl@haut.edu.cn
  • 基金资助:

    国家自然科学基金(No.61602154,No.61673384,No.61502497,No.U1404617);粮食信息处理与控制教育部重点实验室资助项目(No.KFJJ-2016-105);河南省高等学校重点科研项目(No.16A520005);河南工业大学高层次人才基金(No.2015BS006);河南工业大学“省属高校基本科研业务费专项资金”(No.2016QNJH28);河南省重点科技攻关项目(No.162102310405,No.152102110075)

Multiple-Fault Localization Based on Chameleon Clustering

CAO He-ling1,3, JIANG Shu-juan2   

  1. 1. College of Information Science and Engineering, Henan University of Technology, Zhengzhou, Henan 450001, China;
    2. School of Computer Science and Technology, China University of Mining and Technology, Xuzhou, Jiangshu 221116, China;
    3. Key Laboratory of Grain Information Processing and Control, Ministry of Education, Zhengzhou, Henan 450001, China
  • Received:2016-01-25 Revised:2016-09-28 Online:2017-02-25 Published:2017-02-25

摘要:

软件系统中往往存在多个错误,它们之间互相干扰,这抑制了错误定位的能力.为解决该问题,提出一种基于Chamelelon聚类分析的多错误定位方法.首先,将每一个失败程序执行轨迹和所有成功程序执行轨迹合并,计算其怀疑度,按怀疑度大小选取高可疑元素作为程序执行轨迹的特征元素,按照该特征元素对失败程序执行轨迹进行约简;其次,聚类分析将失败程序执行轨迹分簇,每簇包含一个错误;然后,将失败程序执行轨迹簇与所有成功程序执行轨迹合并,重新计算其怀疑度;最后,根据合并后的簇生成的怀疑度序列,采用并行调试模式同时定位程序中的多个错误.实证研究表明该方法可以有效地定位程序中的多个错误.

关键词: 软件调试, 错误定位, 聚类分析, 多错误

Abstract:

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.

Key words: program debugging, fault localization, cluster analysis, multiple faults

中图分类号: