在软件工程领域中,数据挖掘技术可以应用到漏洞数据库、源代码库、版本信息记录等数据库中进行大量数据信息的挖掘。因此,数据挖掘技术也称为数据库知识挖掘技术。
1、数据挖掘技术的发展历史与现状
数据挖掘技术最早出现于1989年,是在数据库中的知识中发现的,并在数据库领域中得到很好的发展。随着信息技术的不断发展,数据挖掘技术从最早的理论研究转变为软件工程领域的应用,有效提高了软件工程的构建方法与系统的维护,有利于满足用户对软件产品的需求。
数据挖掘技术最早应用于软件工程领域是在1990年,并且得到很好的发展。目前,数据挖掘技术已成为软件工程领域的一项重要的技术,逐渐渗透到软件工程的漏洞数据检测、程序代码分析等软件开发领域当中。
2、数据挖掘技术在软件工程领域中的应用
数据挖掘技术在软件工程领域中的挖掘对象、挖掘技术以及需要协助的软件工程目标三个方面,包含了版本控制信息的挖掘、漏洞检测、执行记录挖掘、开源软件挖掘等。
2.1版本控制信息的挖掘
版本控制信息的挖掘属于软件工程领域中的挖掘对象技术之一。版本控制信息系统的作用就是可以有效确保软件工程项目编程人员所编辑的档案得到统一的管理,进而实现全局数据的更新,是所有软件工程项目开发必须采用的一项技术,用来管理软件工项目开发活动。
数据挖掘技术在版本控制信息中的应用,主要是对软件变更历史进行数据挖掘,发现软件系统中不同程序模块之间的相互关系,进而可以预测出系统程序模块存在漏洞的引入方式以及程序未来的发展。通过对版本控制信息的挖掘,可以减少软件系统后期的维护工作,避免由于系统更新而引入缺陷与漏洞,从而提高软件系统的后期维护工作,有利于软件工程项目的后期管理。
2.2软件漏洞检测
软件漏洞检测是数据挖掘技术在软件工程领域中需要协助的软件工程目标之一。软件漏洞检测的目的就是要找出软件系统在开发过程中存在的错误与漏洞问题,对存在的问题进行及时的修改与修复,确保软件系统的质量与安全运行。通常情况下应用数据挖掘技术进行软件漏洞检测主要有五个部分:①要确立软件测试的项目。从用户的角度出发,了解用户都有哪些需求,然后决定软件要进行哪些方面的测试与怎样进行软件测试,制定出软件测试的计划与实施方案;②进行软件系统漏洞库数据信息的收集、清理与转换。采集软件系统的信息与数据,抽取出软件系统中存在漏洞缺陷的数据信息,清理掉系统中无用与多余的数据信息,补充系统中丢掉与缺少的项目数据信息,将系统数据信息转化成信息与知识方式;③选择合适的软件系统数据挖掘信息,然后进行数据信息的验证与训练。通过数据挖掘技术对软件系统数据的训练与测试结果,结合软件工程项目的需求,选择合理的数据挖掘方法;④对软件系统中存在的缺陷漏洞进行分类、定位与描述。将找出的软件系统漏洞运用数据挖掘技术,根据一定的规则进行软件系统漏洞的分类、定位与描述;⑤数据挖掘技术在软件测试项目中的应用。运行数据挖掘技术将挖掘出来的数据信息转化成知识,并将转化后的知识保存到数据库当中,然后对软件系统进行重新测试,确认漏洞现象是否存在,然后将测试后的结果应用到软件开发项目当中。
2.3执行记录挖掘
执行记录挖掘属于软件工程领域中的挖掘技术领域。执行记录挖掘目的就是通过对软件系统的程序执行路径进行分析,发现软件系统程序模块代码之间的相互关联。其运行实质是就通过跟踪软件系统的执行路径实现逆向建模,有利于软件系统程序的理解、跟踪、维护与以及验证。
2.4开源软件挖掘
开源软件挖掘属于软件工程领域中的挖掘对象领域。克隆代码检测是开源软件挖掘技术中常用的方法之一,普遍应用在大多数软件开发源文件当中,进行数据的拷贝与粘贴。采用克隆代码技术可以有效进行代码的拷贝与粘贴,然后运用克隆代码检测技术对代码进行检测,避免软件系统中出现漏洞代码,有利于软件系统的后期维护。
3、结语
随着软件工程技术的系统化与复杂化发展,数据挖掘技术的应用给软件开发提供了精确的测量保障,并且取得了良好的效果。由于数据挖掘技术在软件工程领域中的应用处于初级发展阶段,通过对数据挖掘技术在软件工程领域应用的深入研究,有利于数据挖掘技术在软件工程领域的广泛应用,有利于提高数据挖掘技术的发展与创新。
参考文献:
[1]沈孙园,张丽帆,刘丽娟.浅谈数据挖掘技术在软件工程项目中的应用[J].电脑知识与技术,2009,120(109).
[2]毛澄映,卢炎生,胡小华.数据挖掘技术在软件工程领域中的应用综述[J].计算机科学技术,2009,136(105).
[3]孟美芝,李国英,钱国栋.将KFCM算法应用于源代码数据挖掘的研究[J].计算机工程与设计,2010,131(101).
[4]张志荣,孙伟宏,韩晓东.数据挖掘技术在软件工程领域中的应用浅析[J].电子测试,2013,109(105).
[5]楚燕婷,焦明宇,王丽琼.基于源代码挖掘的软件质量改进方法研究[J].电脑知识与技术科学,2009.