欢迎来到天天文库
浏览记录
ID:22479676
大小:70.50 KB
页数:8页
时间:2018-10-29
《探索软件工程数据挖掘技术》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、探索软件工程数据挖掘技术摘要:随着计算机软件技术的不断发展,传统的软件维护工作越来越难。数据挖掘技术能够从软件工程数据中提取所需数据,从而有利于软件开发顺利完成。因此,软件工程数据挖掘技术的研究工作具有重要的应用价值。本文首先对数据挖掘技术的相关概念进行介绍,然后,对其面临的挑战及其未来发展方向进行分析。希望能够为有关的研宄人员提供一些参考。关键词:软件工程;数据挖掘;发展趋势中图分类号:TN918;TP311文献标识码:A1引言(Introduction)数据挖掘技术既是在海量的数据当中将需求信息挖掘出来的过程[1]。软件工程数据挖掘则是数据挖掘技术在软
2、件工程领域的重要应用[2]。软件工程数据挖掘技术可以有效地提高软件的开发效率,增强软件的稳定性以及可用性,随着软件工程数据挖掘技术的不断提升,其应用范围更加的广泛[3]。因此,对其的研宄工作不仅具有重要的学术价值,更具有重大的实际应用价值。本文重点探索软件工程数据挖掘技术面临的挑战以及将来的发展趋势。2软件工程数据挖掘(Softwareengineeringdatamining)(1)软件工程数据挖掘的必要性软件工程数据主要是指在软件开发阶段积累的相关数据,其中包括软件的可行性分析以及需求分析文本,软件的注释或者代码等等。这些信息是软件开发者获取软件相关数
3、据的唯一来源。随着软件研发技术以及规模的不断提升,其中包括的软件工程数据也是成指数性增长。例如:Linux操作系统软件,其仅代码一项就超过了500万行。这在无形中增加了软件开发者获取软件相关数据的难度。因此,借助于数据挖掘技术的软件工程信息搜索技术是十分必要的。(2)软件工程数据挖掘任务及其过程一般来讲,软件工程的数据挖掘工作主要包括:a.软件数据的预处理。这一过程主要是将未曾加工的数据变为便于挖掘出来的形式。其主要涉及到不同来源以及格式数据的融合,进而转化成为统一格式的数据。选取数据挖掘任务有关的数据记录,并对数据中的噪音以及重复值进行清理。目前,数据挖
4、掘的预处理技术主要采用的是LSA、PLSA、LDA等。a.数据挖掘。这一过程主要是要将海量数据中能够反映出软件本质或者规律的信息搜取出来。其中运用了大量的算法。输入的是结构规整的数据,而将关联、分类等信息模式进行输出,这些信息模式与挖掘任务有关。C.结果评估。这一过程的目的就是要是用户获得有用的信息。主要包括提出信息质量不高的部分结果数据,以及将计算机处理以及理解的信息模式转换成为用户能够理解的信息模式,并传递给用户。2软件工程数据挖掘存在的挑战(Challengeofsoftwareengineeringdatamining)(1)软件工程数据复杂度高目
5、前的软件工程数据主要包括结构化和非结构化两类数据。其中,结构化数据主要涉及到软件的版本相关信息以及缺陷报告等。非结构化数据主要包括一些软件代码、文档等。这两类数据不能采取同一种算法,但是两类数据之间却又存在着诸多相关性。因此,在数据挖掘算法开发上,要充分的考虑到两类数据的复杂联系,无形中增加了不小的难度。(2)分析方法并非传统模式软件工程数据挖掘工作的最后阶段是将获取的挖掘信息呈现给所需用户。在传统的数据挖掘应用过程中,例如:银行或者电子商务,都是将其转化为文字或者图表的形式。但是,软件开发者所需的信息并没有如此简单。其囊括了编程模板、缺陷定位等客户信息。
6、因此,这对数据挖掘技术提出了更高要求。(1)数据挖掘结果评价标准不一数据挖掘技术在很多行业都已经广泛应用,并且,在结果表示以及评价标准制定等方面较为成熟,但是,在软件工程数据挖掘领域却不是这样。软件开发者需要获取的信息不仅详细而且极为复杂,同时,信息的表示方法也不尽相同,这样一来,为信息对比增加了不小的难度,因此,很难对数据挖掘结果进行定量准确分析。3软件工程数据挖掘问题的解决方案(Solutionofsoftwareengineeringdatamining)(1)数据复杂性解决方法软件工程数据的复杂性主要包括三方面:a.数据的类型相对复杂。关于这一类型
7、,目前一些学者提出可以从软件程序的结构图以及文本数据等方面进行信息挖掘。b.数据间联系复杂。这一类型可以利用算法的改进,增强发现数据之间联系能力来提升数据挖掘结果的准确程度,例如:社会网络分析法比较适用于尚未存在大量研宄工作的领域。C.数据中存在噪音或缺失。这一类型可以采用类似于半监督学习的方法以达到有效控制因数据缺失所带来的不良影响程度。总而言之,通过数据挖掘算法的不断改进,能够有效地解决数据复杂性问题。(1)非传统分析的解决方法相对于文字、图表等信息形式,软件开发者往往更需要软件使用范例。目前,很多研宄成果会涉及到软件使用例程以及编程规则等。同时,在软
8、件工程当中,程序可视化作为一种信息表示方法正在逐渐成为趋势,其与数
此文档下载收益归作者所有