数据挖掘技术在软件工程中的应用研究.docVIP

数据挖掘技术在软件工程中的应用研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据挖掘技术在软件工程中的应用研究.doc

数据挖掘技术在软件工程中的应用研究   摘 要 随着信息技术的不断发展,日常生活中人们所接触的信息量越来越多,如何在众多信息量中找到自己有用的信息,成为影响人们工作效率和工作质量的关键因素,而数据挖掘技术的应用则能很好的解决这个问题。本文将通过介绍数据挖掘技术在软件工程中的应用,详细分析数据挖掘技术的作用和影响。   关键词 数据挖掘;软件工程;开源软件   中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2014)01-0073-01   所谓数据挖掘是指在大量、无序、模糊的数据中挖掘出其中有用的信息的过程,它能实现信息的分类、聚类并进行偏差分析。在这个信息爆炸的时代里,人们获取的信息量是非常惊人的。在软件工程中,软件的开发及管理过程中都会出现大量信息和数据,如何更好地在众多信息中快速找出有用信息成为困扰软件工程的一大问题,因此,对信息数据的挖掘在软件工程中显得更为重要。   1 数据挖掘的过程及技术   一般的数据挖掘过程包括4个步骤,即对软件库里的数据进行选择、对被选择的数据进行预处理形成格式化数据、再对格式化的信息进行挖掘,最终吸收其中有用的知识。   在软件工程中数据挖掘的工作一般可以分为3个层次,即交互式可视数据探查、自动模式提取及模型建构,这3个层面相互关联,其中可视数据探查为提取模式及模型的建构提供基础,模型的建构又为数据探查和模式提取提供了指导。   软件工程中常用的数据挖掘技术主要是通过分析、聚类、预测及统计分析等技术从众多资源中找出潜在的、对人们有用的信息并反馈给软件系统。   2 数据挖掘技术在软件工程中的应用   数据挖掘技术被应用到软件工程中已经有20多年的历史,随着科学技术的不断进步,数据挖掘技术的应用也越来越广泛,如,在银行、保险、交通及零售等行业都在应用数据挖掘技术。而在软件工程中使用数据挖掘则可以提高软件系统的维护效率并增加系统的稳定性和安全性。软件工程中的程序代码分析、软件项目管理、软件故障检测及开源软件开发等方面都应用了数据挖掘技术。   2.1 开源软件开发中的数据挖掘   开源软件(OSS)顾名思义就是源代码是开放的软件,这种软件目前大多对客户都是免费的,也正是由于这个原因使得开源软件的控制和管理非常困难,因此,要引进数据挖掘技术帮助开源软件提高质量。如,大阪大学的学生就设计了一个分布式的数据挖掘系统,它不仅能对大规模系统进行挖掘还能对多个开源软件进行挖掘。还有牛津大学设计的数据挖掘系统能实现对系统的开发者与使用者进行跟踪管理,极大地提高了开源软件的质量和使用率。   2.2 软件项目管理中的数据挖掘   软件项目管理中的数据挖掘主要体现在两个方面,一个是对组织关系的挖掘一个是对版本控制信息的挖掘。其中,软件项目的管理是一个复杂的工程,对人员组织关系的挖掘主要是对人力资源进行协调和分配。例如,一个工程项目可能有成百上千人参与,在参与过程中人员之间的电子邮件、文档等都会产生交互,交互中极易造成秩序混乱,而数据挖掘技术的使用则可以很好的将工作人员的组织关系进行区分,有利于软件项目管理的顺利进行。   此外,数据挖掘技术还体现在对版本控制信息的挖掘。版本控制可以记录文件内容的变化,以方便用户查看版本的修订情况。将数据挖掘技术引入到版本控制信息中可以减少系统后期的维护成本。它能为软件系统的维护提供警示作用,有些挖掘数据能清晰的查找出系统修复记录中的错误,通过查找错误记录使软件的设计者能成功避开很多常见的错误,提高软件项目的管理水平。   2.3 程序代码及机构中的数据挖掘   这里所说的程序代码指的是克隆代码,所谓克隆代码就是通过简单的复制和粘贴进行再次使用的代码。对克隆代码的检测也是数据挖掘中应用最早的,目前对克隆代码的检测主要有以下几种方式,基于文本对比方法、基于标识符对比方法、基于度量的方法、基于程序结构表示的方法及运用潜在语义索引等方法。但是对于克隆代码的数据挖掘还不是很成熟,主要是因为数据挖掘时仅考虑了语法信息而忽略了对语义的挖掘。   其次,是对横切关注点(Aspect)的挖掘,对Aspect进行挖掘主要是因为有些关注点在程序中的代码非常相似甚至是同一代码段。对于Aspect的挖掘方式有很多,如,对代码文本分析时,可以根据不同的特点可以分为基于文本和类型的分析、形式概念分析方法、基于聚类分析方法及基于自然语言的分析方法等等。对于执行模式进行挖掘时可采用形式概念分析法及基于方法执行关系的挖掘两种方式。对于调用关系分析时,可以采用扇入分析软件探查技术和基于耦合与Page Rank度量的方式进行挖掘。   最后是在数据库中挖掘有用的代码或构件。目前,常用的方法有通过记录输入-输出关系检索、通过关键词进行索引和挖掘、寻找

文档评论(0)

guan_son + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档