APP下载

数据挖掘技术在软件工程中的应用

2020-11-26杨品军

电子技术与软件工程 2020年1期
关键词:数据挖掘软件检测

文/杨品军

(云南师范大学实验中学 云南省昆明市 650031)

当今社会已经进入了信息化时代,互联网与计算机技术的持续发展,带动了数据挖掘技术的全面提升,尤其是软件工程中此项技术已经得到了广泛应用。在如今数据挖掘技术中,有关部门正致力于智能化、自动化技术的研发和应用领域中,以便使相关技术潜力被挖掘出来,有效处理庞大的信息系统。

1 软件工程中数据挖掘概述

1.1 数据挖掘定义

所谓数据挖掘,即从相应大数据库当中将可以为人理解、具备很大可利用性、正确性以及新颖性模式的一类高等处理流程,其属于发现知识的新形式,重点依靠计算机来检索数据,进而发现新趋势以及新模式。在此过程中,应当多次提取相关知识,随后把有关数据全面筛选出来,以最科学的方式加以处理,使学习效率得到全面提升。而挖掘数据的主要任务便是获得更加实用、优秀的逻辑思维,并且有效拓展、验证现有知识。

1.2 软件工程中数据挖掘定义

在大规模数据当中将所需数据信息充分挖掘出来,即传统数据挖掘。而在当前的软件工程当中,借助自动搜寻功能取得想要得到的信息数据,也就是软件工程中的数据挖掘。

1.3 软件工程中数据挖掘特征

与传统数据挖掘相比,软件工程中的数据挖掘特色较为明显。在传统数据挖掘技术当中,主要包括了版本信息以及软件报告等有关的结构数据;而在软件工程中的数据挖掘技术对应系统信息数据当中,包括了极多注释、代码等非结构化的信息数据,二者算法并不相同,然而却具备较为紧密的关联,所以,软件工程中数据挖掘技术最大特征,便是数据复杂性。在传统数据挖掘技术应用过程中,其主要功能便是将报表系统处理结果提供给相应用户;而在软件工程中数据挖掘技术应用过程中,并不需要此类结果,其重点需要的便是将推翻或者符合结果的软件缺陷、实例等的定位信息。

2 数据挖掘技术常用方式

2.1 神经网络方式

此类方式主要是对人脑神经元加以模拟,并且将Hebb 的学习规则以及MP 模型当作重要基础,同时以神经网络的连接权值对知识加以表示,有关学习主要体现在逐步计算相应权值的过程中。在此方式中,最常用到的模型包含了自组织网络、前馈式网络以及反馈式网络,而各类模型又会分别被用在聚类、预测以及联想记忆等。

2.2 遗传算法应用

此类方式主要是以生物自然的筛选以及遗传激励随机搜索的算法为基础,属于数据挖掘技术当中最常见的操作模式之一。在遗传算法的应用过程中,其最大的优势便在于能够促使许多表面联系不大的各类事物,可以在各个模型之间构建有关联系,确保各事物得以协同、全面发展。与此同时,由于生物界对遗传基因越发重视,也使得此方法得以被更有效的应用。

2.3 可视化技术应用

此项技术主要是借助某些图表来表现出相应数据,例如,借助简单的图形将数据库各项数据展示出来,能够很直观地呈现给研究人员,形象化单调数据,使得研究人员可以更加容易地对相关数据信息加以全面掌握。

2.4 统计分析法运用

在此方法的应用过程中,技术人员通常会借助主成分分析以及回归分析等方式来对大数据库各个字段间关系加以全面分析,其中的关系主要涵盖了多重关系,可函数关系属于极为重要的一种关系,各类函数关系往往能够以公式的方式加以表示,但是相关的关系却难以借助某些特定公式进行表示,而应用统计分析法便可以合理利用此类关系。

2.5 决策树技术应用

此项技术通常会被应用到分类、整合各类信息数据,特别是在处理大量数据信息时,不仅可以帮助研究人员在较短时间中将关键信息找出来,更能够简单化、快速化信息分类,同时确保信息分类更加精准。然而此项技术也有一些缺陷,主要体现在其抗噪性能相对较差,且无法全方位对更复杂理念加以表述。

3 数据挖掘技术在软件工程中的应用途径

3.1 信息数据软件的建立

3.1.1 大数据库系统

所谓大数据仓库,主要是面向稳定的、主体的以及集成的一类数据信息集合,经由构建仓库的方式来对经营管理制定决策的过程予以全力支持。从本质上来看,此过程重点包含了以下阶段:

(1)源数据阶段:在此阶段当中,重点需要收集综合数据、历史数据以及当前数据。

(2)预处理源数据阶段:此阶段主要包含了软件数据文档以及关系数据库等。

(3)仓库管理阶段:重点包含了数据信息仓库管理的工具、数据建模工具、抽取、元数据库、装载以及转换等。

(4)知识DM 分析工具,主要包含了序列分析工具、分类分析工具、关联分析工具以及聚类分析工具等。

(5)可视化软件领域专业知识,将能够对软件质量产生影响的关键因素揭示出来。

以上五点便全面组成了整体大数据仓库的管理体系。

3.1.2 大数据库建模

此项工作的主要任务便是把现有数据信息全面归纳到一起,从而构建出科学的大数据资源信息库。信息库当中重点包含的信息有可行性研究报告、客户需求信息、软件系统信息以及客户评估信息等:

(1)可行性研究报告:研究技术应用是否具备运行可行性,以及法律、经济、使用与技术等能否达到预期效果。

(2)客户需求信息:技术人员应当把客户需求信息及时进行整理、归纳,以便确定系统数据、功能以及界面等。

(3)软件系统信息:此类信息属于应用软件的重要基础,重点包含了系统总体需求、支撑环境、规模和范围等。

(4)客户评估信息:此类信息重点会被应用到软件测试工作中,这些测试包括了形式化测试、动态测试以及静态测试等,从而收获对应信息,进而把客户需求信息和客户评估信息全面汇总,以便在应用软件的质量加以合理权衡,将各种存在错误及时发现出来,并且进行合理修改。

3.2 应用于开发开源软件

此类软件主要属于开放源代码的一类应用软件。当前此类软件对于广大用户而言都属于免费应用的,因此导致软件的管控工作很难顺利进行下去。但是在软件工程当中应用数据挖掘技术,能够使开源软件整体质量得到有效提升。比如在某大学所设计的信息数据挖掘平台当中,便可以确保跟踪管理平台的使用者以及开发者,这能够在很大程度上使开源软件整体质量得到全面提升,进而使相应损失率被降低。

3.3 应用于对程序代码与结构的挖掘

在对程序结构、代码等进行挖掘的过程中,克隆代码检测法属于一类较为常用的数据挖掘技术,其又会被细分成以下四种方法,即标识符对比、度量、程序结构以及文本对比。上述方法各自具备不同特征,在实际应用过程中,一般都需要对现实状况加以确定,从而筛选出最合理挖掘技术。在克隆代码的检测过程中,往往会对某个主要代码进行复制和粘贴,而在特殊需求之下,会按照实际需求对一部分代码进行改正,对这部分代码进行检测,重点是避免出现大面积的故障,以便对系统安全进行有效维护,将可靠环境提供给软件的日常工作。

除此之外,Aspect 技术也属于当今世界上较为常见挖掘技术之一,此项技术属于日常研究过程中提到的“横切关注点”挖掘技术。在软件工程当中,对于改造面向软件的工作,重点便是将Aspect挖掘技术相关问题解决好。在解决过程中,技术人员虽然拥有许多解决方式,然而度量分析法才是最核心的解决方式。

3.4 应用到软件项目管理

在实际工作过程中,对软件项目的日常管理工作,一般拥有系统化、复杂化的特征。因此,在软件项目管理工作当中应用数据挖掘技术,主要的任务包括了:

(1)挖掘组织关系:例如某公司在举办年会活动的过程中,一旦没有妥善处理好人员分配问题,便极易引发诸多混乱局面。所以,为了科学配置公司的人力资源,一般都会借助数据挖掘技术对全体职员职责进行科学区分,以便使项目实现有序化的管理,进而使其办事效率得到全面提升。

(2)对版本的控制信息进行有效挖掘:在系统面对外部系统侵入的时候,数据挖掘技术会提出相应的警告;与此同时,此项技术还能够对系统修复状况进行全面检测。而版本控制信息最重要的作用,便是使民众能够更加顺利地查看软件的版本信息,将数据挖掘技术应用其中,便能够有效确保系统得以安全工作,最终提升软件项目管理整体水准。

3.5 记录传输信息的路径

数据挖掘技术对于传输信息的路径而言,可以对其进行更有效的记录,并且以之为基础,保证信息与软件间得以良好互动,从而防止时间被浪费,也更加便于实际操作。在寻找数据信息的过程中,重点是借助分析程序执行途径来完成的,随后将探寻到的信息传输途径当作重要基础,从而展开持续跟踪,有效整合信息数据,建立健全信息数据系统,促使信息数据得以被高效传输的功能在对应系统内部被充分实现。

3.6 应用于对版本信息的检测

对于软件运行信息数据来说,每代软件都各有区别,一旦新版本问世,老一代版本内部便会存在难以兼容的状况。虽然从整体上来看,软件版本的迭代更新往往会使软件的使用功能趋于完善,然而也会常常出现丢失用户个人数据信息的问题。截止到目前,能够对上述状况有效规避的关键方式,便是应用数据挖掘技术,此技术除了可以在第一时间检测到软件版本的更新信息,还可以及时对用户个人数据信息进行备份,同时把采集到的有效数据信息备份到云端,也不会加大软件负荷,进而确保数据信息保持完整性以及精准性。

3.7 运用到检测漏洞

在日常开发软件的过程中,时常会出现各种各样的漏洞,此现象十分常见。在通常状况中,以传统检测技术展开漏洞检测工作,虽然能够在检测时发现大多数的系统漏洞,然而依然很难检测出那些小漏洞,从而致使检测并不彻底、全面,最终对整体系统产生不良影响。在实践过程中得知,数据挖掘技术在应用于对上述系统漏洞进行检测的时候,能够使检测更加有效、精准,这主要是由于,数据挖掘技术在系统全面管控系统数据信息时,可以充分掌握运输数据信息的主要路径。一旦数据异常,此项技术便可以在第一时间有所察觉,走动记录发现的异常数据信息,并且检测数据信息自身问题,对多余信息数据以及缺少的信息数据加以及时处理,随后重新排列被整理之后的信息数据,并且将数据位置记下来。在此条件之下,软件系统便不会再存在系统漏洞。

4 数据挖掘技术在软件工程中的未来应用趋势

在研究部门详细划分数据挖掘技术的各个方向之后,相应的研发工作进展较为顺利,研究人员的热情处于高涨状态,而各领域研发成果也比较大,这些成果会极大影响到软件工程开发的整体质量以及效率。当前部分软件工程所应用的数据挖掘技术较为陈旧,亟需技术人员及时转变传统发展观念,学习掌握更新颖、更先进以及更合理的计算方法(如主动学习以及流行学习)。除此之外,相应检索方式改变也很大,在过去,检索往往需要输入精准关键词,得到的反馈也多为简单语句,而在应用数据挖掘技术之后,可帮人们使用自然语言展开检索操作,最终获得完整文档。

5 结论

总体而言,在软件工程当中应用数据挖掘技术,其应用价值很大。因此,对数据挖掘技术强化研究,对于软件工程的全面发展意义深远。所以,有关部门需要全面扩大研究范围,加大研究深度,确保数据挖掘技术可以更可靠、成熟地被应用到软件工程当中,促使其应用效果得到全面强化。

猜你喜欢

数据挖掘软件检测
禅宗软件
“不等式”检测题
“一元一次不等式”检测题
“一元一次不等式组”检测题
软件对对碰
基于并行计算的大数据挖掘在电网中的应用
一种基于Hadoop的大数据挖掘云服务及应用
谈软件的破解与保护
基于GPGPU的离散数据挖掘研究