Application of neural networks for software quality prediction using object-oriented metrics翻译.doc
- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Application of neural networks for software quality prediction using object-oriented metrics翻译
3.1。神经网络建模
第一个神经网络架构我们有选择是病房图1所示。摘要网络最流行的网络。我们选择了三层摘要病房神经网络,因为对于大多数应用程序它是一个有效的网络。我们使用三个不同的激活函数。它有三个板(slab2,slab3和slab4)在隐藏层。神经网络被称为特性探测器。一块是一组神经元。每个板在隐层都有不同的;这三种方法查看数据。我们使用了一个线性函数输出板(slab5)。双曲切线(双曲正切函数用于一块隐藏的层(slab3),因为它更适合连续值输出尤其输出层。高斯函数是用于另一个隐层板(slab2)。这个函数是独一无二的,因为不像其他,它并不是一个增长函数。它是典型的钟型曲线。高斯补充中使用第三块隐藏层(slab4)我们使用一个较小的速率0.1和0.1作为动力我们的网络的网络,预测输出连续的值,而不是类。
另一种神经网络结构选择是一般回归神经网络(GRNN)图2所示。基于一个onepass算法和一个高度并行结构。是一个功能强大的基于GRNN网络可能内存估计连续变量和趋同底层回归表面。GRNN的力量能够有效处理稀疏数据。GRNNs特性快速的训练时间,可以模型非线性函数,并已被证明能够很好地完成的环境中提供了足够的数据。Specht(1991)已经证明该算法在GRNN能够提供从一个观察值另一个平稳过渡,即使在一个多维数据稀缺测量空间。GRNN应用程序都可以。对于GRNN网络,在隐藏层神经元的数目(Slab2)通常是模式的数量在训练集,因为每个模式训练集的代表通过一个神经元。神经元的数目在输入层(Slab1)输入的数量, 对应在输出层神经元(Slab3)数量的输出。
故障程序不执行根据用户的规范测试期间和操作阶段。应用程序使用这样的预测有三个子系统人机接口)的软件,这是一个完全网络化监察控制和数据采集系统。,包括超过200的子系统和3百万行代码,已经被好几年。虽然每个子系统选择扮演不同的角色,执行不同的功能,他们分享一些类似的特点满足我们的选择标准。子系统是一个用户面向接口程序允许客户配置产品的基本操作和设备通信。它由20
类定义256种新的定义或虚函数,和大约5600行代码。子系统B是一个实时数据日志记录过程根据用户配置需要数据和日志到数据库中。这个子系统定义48类和353种新的定义或虚函数,包括大约21300行代码。子系统C是一个程序,作为一个路由器,不仅同一个主机进程之间传递信息其他宿主。这个子系统定义了29个类
和293种新的定义或虚拟函数和包含大约16000行代码。
第1部分中讨论过的,我们引入了在软件方面缺陷预测到对象-利用神经网络的范例。我们,与软件质量的关系。继承树的深度(DIT)的一到根继承层次结构最长路径的长度。这就决定了基于它的祖先,因为一个类很可能继承的大部分祖先的复杂性。就有越多的方法继承使它更复杂的预测行为。因此,就越有可能包含一个故障。的数量(NOC)一个特定类的直接后裔。潜在的重用类。更多的类直接影响在其实现中的变化。这增加的重要性涟漪效应。因此我们选择了NOC指标预测错误的数量。对象之间的耦合(CBO)定义为。耦合程度。高耦合使得系统更加复杂;高度模块更难理解,改变或正确的,因此可能会更容易出错。(RFC)的数量方法可执行的。以及一组直接或间接通过调用m因此RFC可以作为一个预测变量。
继承耦合(IC)提供的。一个类与它的父类(如果它的一个继承方法是功能依赖于新的或重新定义方法。当一个数据成员,使用一种遗传方法,,它可能引入了新的到继承方法。方法(CBM)之间的耦合提供了新/重新定义方法中所有的继承的方法是耦合。CBM总函数依赖关系的数量继承的方法和新的/重新定义方法。我们选择了CBM来预测错误数量它可以测量功能依赖关系的复杂性。每个类加权方法(WMC)被定义为每个类。我们选了WMC来测量个别。数量的对象/内存分新的对象或类的。一个类与更多的对象/内存分配活动往往会介绍更多的对象管理相关断层对象复制,对象内存使用错误等等。因此NOMA可以用作预测变量对软件质量。
首先,我们进行了初步的分析使用多元线性回归。附录A所示,我们得到了一个R平方值为0.856。R的平方是一个回归质量指标,在示例多少因变量来自独立变量。大约85%的标准变量变化,,可以WMC,DIT,NOC,CBO,RFC,IC,CBM和。调整后的R平方更正预测的数量等于0.843。因此,84%。观察到的水平小于0.001。我们可以从上述指标得出的一些故障的预测。静态软件度量和之间的关系往往很复杂非线性,准确性。人工神经网络是擅长非线性功能关系很难其它技术,因此,对于软件质量模型是有吸引力的。
首先,每个数据模式错误条目,离群值,空白项。许多原始软件度量有不兼容的。这一步将所有的标准单位。,我们对数据进行成分分析。表1展示了原有的面向对象
文档评论(0)