本发明涉及一种数据挖掘领域,尤其涉及一种基于关联规则的缺陷原因分析方法及系统。
背景技术:
1、近年来,随着信息化技术的不断进步,各行业都累积了海量数据,实现对这些数据的管理和使用,最便捷的方式便是建立行之有效的信息系统,代替传统的人工方式。随着系统规模越来越大,程序编写难度也逐渐提高,这就对代码编写人员提供了更高的要求。尽管如此,由于开发人员在程序设计经验、认真程度等方面存在较大差异,在从事代码编写工作的过程中,会时常出现bug,导致软件出现错误。更有甚者,可能直接影响整个软件的正常使用。
2、关联规则(association rules)是数据挖掘领域中常见的数据分析方法,以数据中项和项组合协同出现的频率为基础,可发现数据中各种属性及属性组合之间可能存在的联系。在软件开发过程中,bug发生的因素多种多样,可能发生在软件开发的任何一个环节。如何在软件开发过程中及时发现bug、分析bug的影响因素、降低bug的出现概率是本领域技术人员亟需解决的问题。
技术实现思路
1、本发明公开一种基于关联规则的缺陷原因分析方法,该方法对软件开发过程中的bug信息进行挖掘,获取开发人员在代码编写过程中的相关因素以及彼此之间的相互关系,具体地,上述方法包括以下步骤:
2、(1)数据获取:按照要求获取n条记录,其中每条记录包括性别、部门、学历、开发级别、发生时段、bug类型、bug等级、工作状态、员工个人因素,表示为ri={x1i,x2i,x3i,x4i,x5i,x6i,x7i,x8i,x9i},其中ri表示第i条记录,1≤i≤n;xji表示第i条记录的第j项,1≤j≤9,分别对应第i条记录中的性别、部门、学历、开发级别、发生时段、bug类型、bug等级、工作状态、员工个人因素信息;
3、(2)数据整理:检查数据的规范性,查看每条记录的数据是否完整、规范,不规范的要修改,不完整的要补充;
4、(3)使用下述方法对上述记录进行关联分析,具体步骤如下:
5、1)建立事务数据集d={r1,r2…rn},设置最小支持度阈值min_support
6、2)扫描事务数据集集d={r1,r2…rn}一次,获得频繁项的集合f和其中每个频繁项的支持度,即f=<xji:supportj>,supportj表示xji第j项的支持度,1≤j≤9。过滤f中所有支持度低于min_support的项。对f中的所有频繁项按其支持度进行降序排序,结果为频繁项表l;
7、3)根据频繁项表l构建频繁模式树;
8、4)从频繁模式树中提取频繁项集;
9、5)由频繁项集计算置信度,当两个项集之间的置信度大于最小置信度时,得到关联规则。
10、(4)分析整理数据结果,并根据结果调整工作安排。
11、根据上述方法,本发明又提出一种基于关联规则的缺陷原因分析系统,该系统包括:
12、(1)数据获取单元,按照要求获取n条记录,其中每条记录包括性别、部门、学历、开发级别、发生时段、bug类型、bug等级、工作状态、员工个人因素,表示为ri={x1i,x2i,x3i,x4i,x5i,x6i,x7i,x8i,x9i},其中ri表示第i条记录,1≤i≤n;xji表示第i条记录的第j项,1≤j≤9,分别对应第i条记录中的性别、部门、学历、开发级别、发生时段、bug类型、bug等级、工作状态、员工个人因素信息;
13、(2)数据整理单元,用于检查数据的规范性,查看每条记录的数据是否完整、规范,不规范的要修改,不完整的要补充;
14、(3)关联分析单元,使用下述方法对上述记录进行关联分析,具体步骤如下:
15、1)建立事务数据集d={r1,r2…rn},设置最小支持度阈值min_support
16、2)扫描事务数据集集d={r1,r2…rn}一次,获得频繁项的集合f和其中每个频繁项的支持度,即f=<xji:supportj>,supportj表示xji第j项的支持度,1≤j≤9。过滤f中所有支持度低于min_support的项。对f中的所有频繁项按其支持度进行降序排序,结果为频繁项表l;
17、3)根据频繁项表l构建频繁模式树;
18、4)从频繁模式树中提取频繁项集;
19、5)由频繁项集计算置信度,当两个项集之间的置信度大于最小置信度时,得到关联规则。
20、(4)数据整理单元,用于分析整理数据结果,并根据结果调整工作安排。
21、应用本发明后,可实时提醒员工注意避免工作中容易出错的环节,避免错误发生,提高工作效率。本发明运用关联规则对软件开发中出现的bug相关因素进行分析,有助于推动企业内部开发工作的合理性、规范性,对bug的预防有一定帮助作用。
1.一种基于关联规则的缺陷原因分析方法,该方法对软件开发过程中的bug信息进行挖掘,获取开发人员在代码编写过程中的相关因素以及彼此之间的相互关系,其特征在于,方法包括以下步骤:
2.一种基于关联规则的缺陷原因分析系统,其特征在于,该系统包括: