ISSN在线(2278 - 8875)打印(2320 - 3765)
Mrs.Agasta Adline1,拉玛钱德朗打烊2
|
相关文章Pubmed,谷歌学者 |
访问更多的相关文章国际先进研究期刊》的研究在电子、电子、仪表工程
软件度量和故障数据属于之前的软件版本是用于构建的软件故障预测模型的下一个版本的软件。然而在某些情况下,以前的错误数据不存在。换句话说预测程序模块的fault-proneness当模块不可用错标签是一个具有挑战性的任务经常在软件行业。有需要开发一些方法构建基于监督学习的软件故障预测模型可以帮助预测程序模块的fault-proneness当故障标签模块不存在。其中一个方法是使用分类技术。监督分类技术可以用于故障预测软件模块,所以在这些情况下,故障标签不可用。在这项研究中,我们提出一种基于遗传算法的软件故障预测方法分类。
关键字 |
错误倾向,遗传算法、监督技术分类。 |
介绍 |
软件质量模型是有用的工具实现软件质量保证计划的目标。软件质量模型可以用来识别可能有缺陷的程序模块。随后,有限的资源分配给软件质量检验和改进可以只针对那些程序模块,实现成本效益的资源利用率。软件质量评估模型允许软件开发团队跟踪和检测潜在的软件缺陷在开发相对较早,这是许多高保障系统的关键。软件故障是一个错误的编码可能导致软件行为不是预期的方式,并可能导致错误,因此软件故障。一个软件故障发生的可能可恢复错误是因为编程错误。这类错误通常检测到硬件,并发送到适当的软件处理程序处理故障预测会给一次机会开发团队重新测试的模块或文件有缺陷的概率很高。花更多的时间在缺陷模块和没有时间上的缺陷的,项目的资源将会被更好的利用,因此,维护阶段的项目会更容易为客户和项目业主。完美的预测错误可能发生在代码可以直接测试工作,降低成本,提高软件的质量。然而在软件开发实践中,各种实际问题限制缺陷数据的可用性培训模块的数据。 For example, an organization may have not recorded or collected software defect data from previous releases or similar projects. In addition, since the organization may not have experience developing a similar system, the use of software measurement and defect data of previous projects for modeling purposes is inappropriate. In current times, where globalization of technology has gained momentum, distributed software development is not uncommon. Under such conditions, software defect data may not be collected by all development sites depending on the organizational structure and resources of individual sites. The absence of defect data or quality-based class labels from the training data prevents following the commonly use supervised learning approach to software quality modeling |
相关工作 |
施Zhonget.al。(2008)。[11]和集群技术开发了基于专家经验的软件测量数据分析。在软件质量评估问题,一个典型的构造软件质量分类或软件故障预测模型使用软件度量和故障数据从先前的系统再出租或类似的软件项目开发。这样的模型被用来预测的fault-proneness目前正在开发的软件模块。这允许早期跟踪和检测潜在的软件故障,这是至关重要的,在许多高可靠性电信和医疗软件系统。有两个主要的挑战,建立一个精确的软件质量评估模型:(a)的存在“噪音”数据实例通常降低训练模型;(b)的软件质量度量(断层倾向标签)呈现构建分类模型是不可能的。聚类是自然提出作为探索性数据分析工具应对这两个挑战。c . Catal出版社。 (2009).[9] Marmara Res. Center, Inf. Technol. Inst., Kocaeli developed Software Fault Prediction of Unlabeled Program Modules, the quality of software components should be tracked continuously during the development of high-assurance systems such as telecommunication infrastructures, medical devices, and avionics systems. Quality assurance group can improve the product quality by allocating necessary budget and human resources to low quality modules identified with different quality estimation models. Recent advances in software quality estimation yield building defect predictors with a mean probability of detection of 71 percent and mean false alarms rates of 25 percent. Software quality estimation is not only interested in reliability, but also the other quality characteristics such as usability, efficiency, maintainability, functionality, and portability. However, some researchers prefer using the term software quality estimation for the software fault prediction modeling studies. Software metrics are used as independent variables and fault data are regarded as dependent variable in software fault prediction models. C. Catal, et.al. (2009).[7] Marmara Res. Center, Inf. Technol. Inst., Kocaeli developed Clustering and Metrics Thresholds Based Software Fault Prediction of Unlabeled Program Modules, which explains despite the amount of effort spent in the design and application of fault prediction models, software fault prediction research area still poses great challenges. Unfortunately, none of the techniques developed within last 15 years have achieved widespread applicability in the software industry due to several reasons including the lack of software tools to automate this prediction process, the unwillingness to collect the fault data, and the other practical problems. Laszlo, M. ; Mukherjee, S., (2006) [10] developed A Genetic Algorithm Using Hyper-Quad-trees for Low-Dimensional K-means Clustering. A GA describes a process that mimics evolution in nature. It maintains a population of individuals or chromosomes that evolves over successive generations. Each chromosome stores a set of genes whose values, called alleles, collectively determine the chromosome’s fitness or likelihood to reproduce or otherwise contribute to the next generation. During each generation, various genetic operators like selection, crossover, mutation, and replacement are applied to the current population to produce the individuals comprising the next generation. Parvinder S. Sandhu, Sunil Khullar,et.al,(2010) [17] developed A study on early prediction of fault proneness in software module using genetic algorithm.it describes A software fault prediction is a proven technique in achieving high software reliability. Prediction of faultprone modules provides one way to support software quality engineering through improved scheduling and project control. Quality of software is increasingly important and testing related issues are becoming crucial for software. Although there is diversity in the definition of software quality, it is widely accepted that a project with many defects lacks quality. Methodologies and techniques for predicting the testing effort, monitoring process costs, and measuring results can help in increasing efficiency of software testing. Being able to measure the fault-proneness of software can be a key step towards steering the software. |
答:现有算法的缺点 |
在现有软件预测使用k - means聚类算法。在k - means有一些缺陷: |
1)用户初始化集群的数量很难识别。 |
2)它需要选择合适的初始聚类中心。 |
3)对噪声非常敏感。 |
提出了遗传算法 |
b .概述 |
遗传算法是受达尔文的理论演进。通过遗传算法解决问题的解决方案是进化而来的。算法从一组解决方案称为种群。解决方案从一个人口是来自一个新的人口。这是出于希望,新的人口将比旧的更好。这是repeted,直到满足一些条件。然而在软件开发实践中,各种实际问题限制缺陷数据的可用性培训模块的数据。例如,一个组织可能没有记录或者从以前版本软件缺陷数据收集或类似的项目。此外,自组织可能没有经验开发类似的系统,使用软件之前项目的测量和缺陷数据建模的目的是不合适的。 |
在当今时代,科技全球化势头,分布式软件开发并不少见。在这种情况下,软件缺陷数据收集的可能不是所有开发网站根据组织结构和个人资源网站。缺陷数据的缺失或质量优先的类标签的训练数据防止后通常使用监督学习软件质量建模方法。因此,软件质量评估或标识项目模块的任务是断层倾向(fp)断层倾向临界多边形求解()落在软件工程专家。标签的过程中每个程序模块一次是艰苦的,昂贵的,既费时又费力。我们提出一个监督分类方案援助专家标签的过程。在分类中,我们将遗传算法用于故障分类。在计算机科学领域,人工智能,遗传算法(GA)是一种启发式搜索,模拟自然选择的过程。这种启发式方法(有时也称为metaheuristic)是通常用于生成有用的优化和搜索问题的解决办法。 |
遗传算法的改进算法,主要是基于自然生物学和选择机制。将遗传算法应用到选定的缺点,在原子单元分解,对应的基因。然后对于个人的设计常常是对应到一个有限的一系列基因,和人们称为人口的集合。必须定义一个标准:一个适应度函数F,为每个单独的人口中,F (x),个人的价值是质量的问题我们希望解开。一旦物质在基因方面,概述和健身是市场上运作,遗传公式计算方法后,图1表示。作为副护理宽松的搜索技术,遗传算法已不会注意到解决几个np完全问题和应用在多个领域,可能会注意到 |
1)选择一个初始种群。 |
2)评估的健康运作。 |
3)繁殖。 |
4)交叉。 |
5)突变 |
6)停止标准:x一代又一代,一个给定的健身价值。 |
一个更好的解决方案。遗传公式使用3运营商:复制、交叉和变异。 |
1)初始种群: |
初始种群是由任意。每个这些字符串代表一个可能的解决搜索问题。 |
2)健康评估: |
健身价值是评估通过一些适用的生活。一次完整的健身人口已经确定,它应该确认是否终止标准已经很高兴。如果标准不高兴然后我们倾向于继续复制的遗传操作,交叉和变异。 |
3): |
这个算子副本的人去参与交叉和选择的健身价值。选择通常被视为旋转轮子无论每个个体特性槽命题的健身价值。我们倾向于自旋轮一遍又一遍,因为各种各样的个体,所以我们更换的人口参与交叉。 |
4)交叉: |
这个模块的组合选择和交叉。选择模块选择最好的健身价值在法律行动组健身价值从之前的模块。 |
交叉结合当前和家长行动法律如果家长行动是最好的最优。交叉提供最好的最优行动法律与先前的父母回答。 |
5)突变: |
突变重新安排健康检查和存储的所有优化解决更多的过程。它减少了健身的质量检查和复制方法如果当前分辨率并不符合我们的标准。 |
算法的优点 |
6)自动寻找初始聚类中心。 |
7)生成所需的初始中心的数量。 |
8)减少错误率的故障预测。 |
9)遗传算法用于搜索和优化,如对一些domainspace找到函数的最大值 |
实验设计 |
c .系统架构 |
系统架构的概念模型,定义了系统的结构和/或行为。它提供了一种方式可以采购产品,系统可以开发整个系统的体系结构概述。提出系统的系统架构图1中给出。 |
![]() |
d .的数据集转换 |
从上面图1.1解释了独特的运营商,独特的操作数,总行代码,总运营商,运营商的总数,数量的不同的运营商,数量的不同的操作数,我们必须找到霍尔斯特德可衡量的。 |
![]() |
![]() |
![]() |
大肠卡拉季奇选择 |
在我们的数据集得到所有属性 |
1)属性选择的技术选择相关特性的一个子集为构建健壮的学习模型。 |
2)我们考虑所有属性过程需要很多时间来处理和增加工作负担。 |
3)所以,我们减少的总数和考虑高相关性属性。 |
4)计算一个属性使用属性的相关性评价。 |
f . weka工具 |
Weka(怀卡托环境知识分析)是一个流行的机器学习套件软件用Java编写的,新西兰怀卡托大学的发展,。Weka软件是免费的GNU通用公共许可证下可用。 |
Weka工作台包含可视化工具和算法的集合对于数据分析和预测建模,结合图形用户界面,方便地访问此功能。 |
加载数据文件后,单击“分类” |
1)选择一个分类器, |
在“分类”:点击“选择”,然后会出现一个下拉菜单,单击“树木”并选择“J48”——一个决策树算法 |
2)选择一个测试选项 |
选择“比例分割”与违约率66%的训练,34%的测试 |
3)点击“开始”训练和测试分类器。 |
训练和测试信息将显示在分类器输出窗口。 |
实施 |
基本的输入系统是C或Java程序代码转换的地方使用霍尔斯特德数据集,和最重要的是数据集不能处理所有属性只有一些属性可以使用weka工具。使用weka工具的主要目的是提高效率以及它的速度。最初将固定在遗传算法阈值阈值是固定的使用逻辑回归。之后,分类是基于他们的阈值的数据集。如果阈值是少non-faulty如果阈值高这是错误的。 |
![]() |
上面的图1显示了属性选择的水平。先给的路径数据在存储系统中然后单击视图按钮显示数据集的属性值。 |
![]() |
在图2中通过输入属性选择的数量,weka工具获取所需的一些重要的属性。图3显示了所选的属性和它们的值。 |
![]() |
算法的例子 |
g .初始种群: |
1)基因的个体是建模为“0”或“1”。 |
Gj = [gj1 gj2…………gjn] gji = {0,1}, 1 j < = k和1 < < = =我< = n |
如果gij = 1,这意味着测试用例ti bj测试块 |
如果gij = 0,这意味着测试用例钛块bj不测试 |
2)所有的覆盖率信息初始种群。例如: |
s1 s2 s3 s4 s5 s6 s7 |
tc1 = {1, 1, 1, - 1, 0, 0, 0} |
h .健身评价: |
个人的健身价值的组合覆盖和成本。个人计算的健身价值, |
F (ti) = (gj)Σk j = 1 * wj / c (ti) |
我跨越: |
让“m”个人的人口规模,让选择一个随机整数“我”之间的1和m - 1,然后两个人ind1 ind2。然后创建两个新个体ind3 ind4,由“我”的第一个基因从ind1 ind2的最后“我”基因,和其他的“我”第一次基因如果ind2和“我”ind1最后的基因。 |
例如: |
选择一:ind1 = [1, 1, 1, 1, 0, 0, 0] ind2 =[1, 1, 1, 0, 1, 0, 0, 1]新一:ind3 = [1, 1, 1, 1, 0, 0, 1] ind4 = [1, 1, 1, 0, 1, 0, 0, 0) |
j .突变: |
基于基因模型,变异算子由“1”改变“0”亦然。随机变异算子选择基因在一个独立的个体。选择的这个基因突变。 |
例子:个体基因:[1,1,1,1,0,0,0)的输出突变:[1,1,1,0,0,0,0) |
k .停止标准: |
答案是发现满足系各种代达到最低标准。然后应执行条件满足覆盖标准。 |
结论 |
标准数据集收集AR3,其中包含大量的属性和属性值通过使用这些大量的无法获得准确值,克服这缺点weka工具用于减少属性。减少属性分类的缺陷和non-faulty记录。 |
未来的工作 |
更多发生在遗传算法的迭代次数,消耗更多的时间,在未来可以克服了这个缺点。以防任何升级遗传算法可以提高在未来的迭代的数量,明显提高了系统的效率。 |
引用 |
|