面向软件开发信息库数据挖掘综述.docVIP

  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文档。上传文档
查看更多
面向软件开发信息库数据挖掘综述

面向软件开发信息库数据挖掘综述   摘要:总结了近年来挖掘软件开发信息库的研究工作,主要包括研究内容和采用的数据挖掘方法,最后讨论了软件开发信息库研究的未来发展前景。??   关键词:软件工程;软件开发信息库;数据挖掘;软件开发信息库挖掘??   中图分类号:TP311文献标志码:A   文章编号:1001-3695(2008)01-0022-07      很多大的软件开发组织、软件项目均建立了集合软件开发过程所有数据的软件开发信息库,但大部分软件开发信息库仅用于软件项目的维护以及缺陷状态的跟踪等[1]。20世纪90年代以来,许多软件从业者和研究人员逐渐意识到,软件开发信息库中包含许多丰富的、隐藏的信息,于是开始采用数据挖掘的方法理解这些潜在的信息。近年来,这方面的研究得到了更多关注。从2004年的第26届IEEE软件工程国际会议(IEEE International Conference on Software Engineering,ICSE)开始,每届均有一个软件开发信息库挖掘的会议。在这些会议上讨论了采用数据挖掘方法深入理解软件开发信息库的多个方面,如软件过程建模、软件开发演进和模式的理解、软件缺陷的分析、软件系统关联修改、软件模块复用等。这三届会议促使研究者和软件从业者更进一步尝试如何利用软件开发信息库理解软件开发实践过程。??      1软件开发信息库??      软件开发信息库是软件开发过程中所有相关数据的总和,通常包括以下数据:??   a)项目开发过程数据,包括项目开发的里程碑、任务细化、资源等信息。??   b)源代码数据,如项目开发的源代码以及版本修改过程。??   c)项目开发的相关文档,如需求文档、设计文档、测试相关文档等。??   d)项目开发人员的交流历史信息,如e mail存档、论坛交流历史记录等。??   e)缺陷跟踪信息,包括项目开发过程中缺陷状态、类型、修改历史等。??   软件开发信息库中不同性质的数据采取不同的数据源存储。一般包括以下方式:??   a)软件配置管理系统(software configuration management system,SCMS),也称版本控制系统(version control systems)。它将软件开发过程中的源代码数据、项目开发的相关文档及开发人员的交流历史信息存档,对这些数据进行管理和版本控制。常用的配置管理系统有CVS、SVN、visual SourceSafe (VSS)和rational ClearCase。??   b)缺陷跟踪系统(defect tracking system)。通常来讲,软件项目组会记录项目的缺陷信息及其修改过程,最简单的形式就是缺陷报告。如今大部分的软件开发组织均会采用一个软件系统对缺陷进行具体的记录、状态跟踪,如最常用的开源软件缺陷管理系统Bugzilla。??   c)项目管理系统(project management system)。软件项目的计划、资源分配、过程执行等数据通常存储在项目管理软件系统中。例如微软公司的project软件是项目管理规划、开发、跟踪的重要工具,可制订软件进度计划、分配资源并预算各种项目成本。??      2数据挖掘理论??      数据挖掘又称为数据库中的知识发现(knowledge ??discovery in database,KDD)。它是一个从大量数据中抽取挖掘出从前未知、但有很多潜在信息(如知识规则、约束、规律)的复杂过程。??   如图1所示,数据挖掘的过程分为数据抽取、数据预处理、知识发现以及知识表示四个步骤[1]。??   1)数据抽取数据抽取是从数据源中选取进行研究所需的数据。在数据抽取过程中,通常要根据研究目的确定所需要的数据内容和数据来源,得到获取数据的权限,了解数据类型和结构并导出数据。??   2)数据预处理抽取得到的数据可能存在数据质量问题或不符合研究的需要,在这种情况下,需要进行数据预处理。通常数据预处理需要完成的任务有数据清洗、数据转换、数据归约以及数据离散化。??   3)知识发现在得到了可以进行数据挖掘的数据集,知识发现就是应用具体的数据挖掘技术发现潜在的、未知的、有用的信息。具体来讲,知识发现的具体任务可能有估算和预测、分类、关联规则的发现、聚类、数据分析和数据可视化。??   4)知识表示将第三步分析挖掘得到的知识进行整理,将其进行具体应用。例如在采用关联规则发现实体间的关系后,知识表示就是利用关联分析的结果进行具体的关联推荐。??      3软件开发信息库的数据挖掘??      软件开发信息库的数据挖掘采用数据挖掘的方法发现软件开发信息库中存在的不明显、潜在的

文档评论(0)

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

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

1亿VIP精品文档

相关文档