数据挖掘技术在软件知识库中的应用研究

被引量 : 0次 | 上传用户:zhaoyuanhappy2008
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着信息化的快速发展,计算机数据库系统已经进入社会的各个领域,由此带来了行业数据的爆炸性增长。面对海量的数据,使得存储能力有限的计算机不得不抛弃一些过时的数据。然而,这些数据里面包含了大量的有价值信息却无法获取,面对这一难题,数据挖掘技术应运而生,数据挖掘技术一开始就是面向应用的,它是一门交叉学科,融合了数据库、人工智能、机器学习、统计学等多个领域的学科,基本功能有关联分析、分类分析、聚类分析、例外分析等,与之相关各种数据挖掘工具的应用也逐渐成熟。软件需求的日益增长和开发技术的快速更新,软件系统的规模和复杂性急剧增长,其开发活动和管理难以控制。在软件工程领域中,传统的方法和简单的数理统计方法难以解决数据及信息爆炸式增长所带来的困扰。因此从程序源代码、设计文档以及收集的相关软件数据集中发现有价值的信息并指导软件工程的开发和维护显得尤为重要。所以,一些专家学者想到利用这些成熟的数据挖掘技术研究软件工程项目中产生的大量数据(通常称为软件知识库),进一步发掘隐藏在软件数据背后的潜在的、有价值的信息。数据挖掘技术已经成为软件工程领域软件数据研究的一个热点问题,在软件生命周期中产生许多数据(如文档、程序源代码文件、Bug报告、软件版本更新历史等)中隐藏着许多有价值的信息,利用这些信息可以协助软件开发人员理解系统架构、函数调用依赖等,帮助维护人员了解当前系统中出现的Bug和潜在Bug,进一步增加系统的稳定性、健壮性和可靠性等。软件知识库的挖掘在近几年发展尤为迅速,研究人员已经提出了许多优秀的数据挖掘算法应用在软件工程的生命周期的各个阶段,并且得到了较好的实验结果。本论文的工作主要研究软件知识库中的软件开发、测试和维护过程中的2类数据:软件修改历史数据(存储在SVN)和Bug报告数据(存储在Bugzilla),并依此为切入点挖掘两类数据集来协助开发人员和维护人员。论文主要由以下几个部分展开:(1)数据挖掘和软件工程综述:对数据挖掘技术的由来、经典算法及应用方向进行概述。然后介绍了软件工程学。从大型软件工程项目出发,对庞大的软件工程知识库进行数据挖掘技术的应用。尤其对软件开发和维护方面做了阐述,以及将来比较有挑战性的问题等。(2)软件知识库数据抽取。目前最常用的版本控制工具是SVN或CVS,在软件系统的整个生命周期中,它会产生大量的源代码文件、文档或交流记录等演化历史数据。如果没有足够的经验,庞大的软件系统会让开发人员和维护人员无从下手。为了方便开发人员和维护人员我们需要抽取出软件系统演化历史数据中有价值的信息转化为可挖掘的数据集,然后利用数据挖掘技术分析这些数据,从中找到有意义和价值的知识。我们在这部分主要讨论如何建立抽取器(Java-RESC)从SVN版本控制库中抽取出适合挖掘的XML格式数据集。(3)知识库挖掘在软件开发中的应用。随着软件工程学发展,软件系统越来越庞大,代码文件呈螺旋状上升,从而程序中错综复杂的调用关系是不可以避免的,软件开发的成本不断增加,同时消耗大量的人力、物力。软件开发人员对软件架构不熟悉的话,会严重影响软件的开发周期,同时也会影响到软件系统的质量和稳定性。软件开发过程中往往会出现这样的情况:添加或修改源代码的一个文件,通常都需要添加或修改软件架构中关联的源代码文件,这是因为大型软件系统的各模块之间存在相互依赖性,这种依赖关系很难用传统的静态或动态分析技术进行检测。本文通过数据挖掘技术来研究软件系统各模块源代码文件关联依赖,通过了解各模块之间的调用相互关联来帮助软件开发人员快速理解软件体系结构,并且当开发人员添加、修改或删除某个文件或源代码时,我们的方法可以有效的为其提供修改路径建议。(4)知识库挖掘在软件维护中的应用。软件系统维护是软件生命周期中最重要的一个阶段,也是花费时间最长的阶段。要使软件系统能在实际和不断变化的计算机复杂环境中正常运行,维护人员就必须要及时的修正错误和不断完善系统,只有这样才能保证软件系统的正常运作,软件维护工作已成为延长软件生命周期的主要途径。但是随着操作系统程序的不断庞大、硬件和软件环境变化越来越频繁,加之各种项目文档的缺乏,软件系统维护变得越来越困难。尤其软件开发人员与维护人员不是同一个人的时候,难度是可想而知。为了减轻维护人员了解系统Bug缺陷和防止潜在缺陷修改等方面的工作量,本文就软件工程项目开发过程中的版本控制系统SVN与缺陷跟踪系统Bugzilla中大量的Bug修复源代码更新数据和Bug缺陷报告关联分析,力图通过数据挖掘技术对Bug缺陷报告分类:缺陷变更和潜在缺陷变更。并把潜在缺陷变更列为重点维护对象,及时地动态发现引入缺陷的源代码变更文件历史版本予以改正,避免系统后期的维护成本的增加。(5)最后对本文所做的工作进行总结,包括本文的创新点、不足之处以及本文的进一步工作。
其他文献
糖尿病的预后及慢性并发症的发生和发展不仅与整体血糖控制水平密切相关,也与血糖波动性密切相关。血糖波动性越大,糖尿病慢性并发症的发生率越高、预后越差。医学体质学不仅
目的:探讨脊柱原发非霍奇金淋巴瘤的影像和病理表现特征。方法:回顾性分析12例经病理确诊的脊柱原发非霍奇金淋巴瘤的影像学表现,12例均行CT平扫,其中9例行CT增强检查,11例行MRI平
《社会保险和相关服务——贝弗里奇报告》(Social Insurance and Allied Service——The Beveridge Report)是人类社会保障发展史上一个里程碑,该计划构建了英国福利国家的理
《菲伯尔钢琴基础教程》是由美国著名作曲家、钢琴家菲伯尔夫妇根据儿童的心理特征精心研究,并与钢琴教学实践相结合编写的一套钢琴启蒙教程。《菲伯尔钢琴基础教程》共六级,
英国作家赫·乔·威尔斯素有“科幻界的莎士比亚”之称。威尔斯成名之初,并未引起研究者太大的兴趣。随着时间的推移和时代的发展,人们逐渐意识到通过研究威尔斯,可以进一步
中国民族民间器乐源远流长,经过数千年的文化积淀,以旺盛的生命力传承至今。民族器乐乐种是传统音乐文化的聚集,是历史音乐文化的标志,是蕴含各个历史时期文化特征的产物。器
冠状动脉粥样硬化性心脏病简称冠心病,指冠状动脉粥样硬化使冠状动脉管腔狭窄,导致心肌缺血、缺氧而引起的心脏病。是严重危害人类健康的常见病、多发病,近年来,在我国的发病
随着悬臂施工技术和施工设备的进步和完善,大跨度独塔斜拉桥的施工技术日趋成熟,先进的施工技术又能影响和促进桥梁设计水平的提高和发展。大跨度独塔斜拉桥技术含量高、施工
为探明葡萄白粉菌的侵染过程及其侵染后对葡萄叶片理化指标的影响,试验以葡萄感病株系6-12-2、15-1-9和华东葡萄抗病株系白河35-1为材料,在葡萄盆栽苗上逐代转接来纯化葡萄白
目的:探讨冠脉造影与冠心病中医证候的相关性,为中医药干预治疗冠脉病变的药物选择提供理论和临床方面的指导。方法:以2007年1月-2009年12月在中国中医科学院西苑医院心血管中