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

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

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

发表时间:2018-06-20T10:03:11.023Z 来源:《电力设备》2018年第5期作者:张佳鑫李爱萍

[导读] 摘要:社会发展的信息化水平在不断提高,越来越多的信息资源被相应的数据所替代,而实现这些信息资源充分利用的前提即是对其相应的数据进行管理与分析。

(太原理工大学计算机科学与技术学院山西太原 030024)

摘要:社会发展的信息化水平在不断提高,越来越多的信息资源被相应的数据所替代,而实现这些信息资源充分利用的前提即是对其相应的数据进行管理与分析。数据挖掘技术作为一种新型的网络技术,在软件工程的大数据分析中占据核心地位,有利于提高数据的可靠性与安全性。本文主要分析了数据挖掘技术在软件工程中的应用策略。

关键词:数据挖掘;软件工程;策略;发展

随着信息技术的不断发展,日常生活中人们所接触的信息量越来越多,如何在众多信息量中找到自己有用的信息,成为影响人们工作效率和工作质量的关键因素,而数据挖掘技术的应用则能很好的解决这个问题。所谓数据挖掘是指在大量、无序、模糊的数据中挖掘出其中有用的信息的过程,它能实现信息的分类、聚类并进行偏差分析。数据挖掘技术一般流程为数据预处理、数据挖掘、模式评估与知识表示等等,笔者结合实际经验,分析了数据挖掘技术在软件工程中的应用策略,对数据挖掘技术的发展提出了几点思考。

1数据挖掘技术概述

1.1数据挖掘技术的定义

数据挖掘技术,也成为数据库中的知识发现,发展于上个世纪末,是当前数据库领域内最新的应用研究技术。历经多年的发展,数据挖掘技术已成为当前数据库领域内最为关键的组成部分,但是还没有较为统一的定义。当前数据挖掘技术定义认可度最高的便是由W.J.Frawley等人所提出的,将数据挖掘技术理解为从数据中提炼出更为高效、更为新颖、更具潜在应用价值,并最终可理解模式的非平凡过程中。主要具有如下多方面内容:

(1)数据源务必真实、数据量较大、并含噪音,不完全;

(2)应用于获取终端用户兴趣较高的未知知识信息;

(3)所获取的知识具备有效性、新颖性,且为潜在的;

(4)更用于发现特定的问题,对知识量没有过多要求;

综合而言,数据挖掘属于复杂度较高的交叉学科,包括人工智能、模式识别、统计学、数据可视化等等交叉性相对较大的新型学科,未来拥有良好的发展空间。

1.2数据挖掘技术一般流程

一般而言,数据挖掘主要由数据预处理、数据挖掘以及模式评估和知识表示等三阶段组成。具体如下:

(1)数据预处理。主要由原始信息获取、数据清洗、数据抽取及数据交换等构成。原始数据获取在于获取发现任务的处理对象,主要按照相应的需求而获取数据。数据清洗目的在于完善原始数据所缺失的数据。数据抽取指将特定的数据源中获取与分析任务相关的数据。数据转换在于规格化数据,以满足特定范围要求。

(2)数据挖掘,第一步便是明确挖掘任务,包括数据分类、数据总结等等,紧接着便是确定挖掘算法,应结合数据实际特点以及具体系统特定需求来确定算法。

(3)模式评估与知识表示。模式用于表示数据挖掘所形成的结果,用特定的兴趣度进行度量,用于识别表示知识的真正有趣模式。在此之中所使用的度量特定值通常由领域专家、用户标准等给出

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

2.1执行记录

对于执行记录挖掘来说,就是分析程序执行路径,找寻存在于程序中的代码关系,将数据挖掘及时应用到软件工程中就是跟踪相关执行路径,在逆向建模的作用下达到既定目标,其主要作用是维护与验证程序。在执行记录的过程中,主要是插装系统,然后用相关软件接口编程,同时记录相关变量等,最终将收集来的信息整合在一起,构建相应的系统模型。

2.2漏洞检测

在软件工程中利用数据挖掘技术进行漏洞检测,主要是为了及时发现存在于软件开发中的问题,这样就可以尽快将漏洞弥补,对提高软件质量有很好的作用。通常情况下,利用数据挖掘及时检测软件漏洞看,就是先对软件进行系统测试看,同时根据用户需求制定出科学合理的应对措施。然后将各种漏洞数据收集整理在一起,逐一做好数据清理与转换。通过分析这些数据信息能够得知,为做好数据清理工作,就需要将多余数据清理出去,然后对丢失项目进行补充,这样再将数据属性以数值的形式体现出来。其次,要构建合适的数据模型,做好验证与训练。在这一过程中应重视与项目实际的联系,选择与之相匹配的挖掘方式,以便构成测试集,获得相应结果。此外,还要做好漏洞扫描与分类,将所有漏洞整理起来构成漏洞库,然后再次扫描,防止漏洞遗失,最后将通过挖掘得来的数据知识应用到软件测试中。

2.3开源软件

对于开源软件来说,其挖掘环境带有明显的开放性与全面性特征,所以,在管理这样的软件时,就不能使用传统软件的开发方式。一般而言,较为成熟的开源软件,能够详细记录开发中所遇到的错误,同时也包括软件开发者的一些活动,以及软件在市场中的应用情况。对于参与软件开发的人员来说,他们是社会网络的主要创造者,然而,由于开源软件的开放特征较为明显,所以也就让这些参与人员随之发生变化。同时,由于开源软件还带有动态特征,所以就需要重视开源项目的进一步管理,也就是由专业人士管理软件系统,在这项工作中做的最好的莫过于英国牛津大学的Sima系统。

2.4版本信息控制

在版本信息控制应用中,主要是确保项目参与者所使用的档案相同,这样也有利于全面更新。对于软件工程开发来说,通常会用版本控制系统管理与开发软件。同时利用版本信息控制,选择合适的变更历史信息的方法,以便获取不同模块,在这种情况下子系统也可以相互映衬,这对深度挖掘程序变化,做好漏洞检测具有重要作用。随着数据挖掘技术在软件工程中的应用,不仅可以有效减少系统维护资

相关主题
相关文档
最新文档