杨茜婷 张潇 任贵银 魏煜霖
摘要:因大数据的合理且高效应用,极大程度便利了各行各业数据分析工作,而对于大型软件工程领域来说,其在技术及管理方面所涉及的数据量都十分大,因而在软件工程领域的一个重难点问题就是如何对这些数据进行有效管理和充分利用,基于数据挖掘技术的应用能够很好的应对上述问题,因此针对软件工程领域中数据挖掘技术应用的探讨十分必要。
关键词:新时期;数据挖掘技术;软件工程领域;应用
中图分类号:TP311.13;TP311.5 文献标识码:A 文章编号:1672-9129(2020)05-0029-01
Abstract:because of the large data is reasonable and efficient application,greatly facilitate the data analysis work in all walks of life,and for large software engineering domain,the amount of data involved in technology and management is very big,so a difficult point in the field of software engineering problem is how to effective management and make full use of these data,based on the application of data mining technology can be very good deal with these problems,so in view of the data mining technology in the field of software engineering application discussion is necessary.
Key words:New era;Data mining technology;Software engineering;application
大數据分析领域中,全新的数据处理理念之一就是数据挖掘,其核心目的在于分析处理巨大数量且低密度价值的数据,从中将一些对所研究问题有价值的信息提取出来。在软件工程发展不断深入的背景下,海量数据分析难题开始在软件开放、项目管理等方面逐渐凸显,如源代码及版本管理、分析漏洞等。在软件长期运行的一个过程,也会有大量数据被积累,此时仅借助传统数据处理技术很难完成相应的分析和处理,因此针对软件工程领域中、数据挖掘技术应用研究的意义十分重大。
1 软件漏洞扫描中应用数据挖掘
在软件工程中的重要内容就是漏洞检查,其能够保障软件工程中的安全隐患得以及时有效发现,促使软件质量逐步提升,为系统安全提供有效保障。以往漏洞检测技术应用时,因需要对较大数据量进行扫描,此时如果以逐条依次分析的方式进行处理,必然会造成长时间等待现象,不具备较强的可操作性。而将数据挖掘技术应用到漏洞扫描中,能够促进扫描效率逐步提升,具体来说扫描步骤可通过以下方式来进行:第一对测试项目进行创建,以用户具体需求为依据,在软件测试方案方面进行针对性制定,确保需要扫描哪些类型漏洞、应该采用何种方式进行扫描等得以充分明确。第二,对漏洞信息进行收集,针对漏洞进行扫描的前提要素就是对漏洞进行认知,简单来说就是要定义漏洞,此时应对有关软件缺陷的大量信息进行搜集,同时以定量化的方式来处理一些属性。第三,针对理论模型加以选择,以扫描要求为依据,对适当数据挖掘模型加以选取,同时以前期收集的数据资料为主,充分训练模型,确保有效的训练集及测试集得以获取,为最佳扫描策略获得提供有利条件。第四,漏洞扫描操作开展,这一过程应对之前得到的模型进行采用,将其在软件扫描测试过程进行应用,同时在分类数据并分析数据特征的情况下,将漏洞信息提取出来。最后,以扫描结果为依据对漏洞进行修复,同时将重新扫描操作开展,对漏洞成功修复与否进行确认。
2 执行记录分析中应用数据挖掘
从代码关联性分析角度来说,对其具有重要意义的就是分析程序执行路径,挖掘软件的执行记录数据,对代码功能深入理解、维护软件等能够提供重要帮助。从本质角度来看,挖掘执行记录的数据,能够跟踪其执行路径,进而在此基础上将逆向模型建立起来。这一数据挖掘过程步骤一般有插装及跟踪、记录、分析等,在具体应用时,应将相应信息插装在待测试的软件代码中,同时对软件进行执行并记录其执行过程,在通过相应预处理的后期,需要对分类及类聚等大数据分析方式加以应用,借此将关键记录信息提取出来,以此为基础将相应的系统功能模型或架构绘制出来,为对现有代码使用的软件系统进行有效跟踪及分析、软件工程稳定性等提供保障。
3 开源软件挖掘中应用数据挖掘
开源软件数据挖掘分析技术中,常见应用领域就是复制代码,软件工程中十分常见的就是代码复用,一般来说,在多个项目中都会反复使用约一半左右的通用源代码,此时则说明基于代码克隆技术应用,能够确保对软件内部代码间、不同软件间代码检测得以良好实现,确保具有利用价值的代码段得以快速提取。在分析代码特征的情况下,能够确保代码克隆过程引入漏洞的现象发生得以有效避免,同时也能够支撑后期软件维护、软件升级等。
4 版本信息管理中应用数据挖掘
在软件工程领域中,所涉及的重要问题之一就是代码管理,可以说当前社会中的所有软件企业都会对版本控制系统加以应用,借此来维护软件或代码版本,为团队成员间能够获取全局一致且统一化的代码提供保障作用。但是从大型软件开发团队实际情况来看,一项较为复杂的工作就是代码管理,在每一次更新版本的过程中,代码管理混乱风险都可能会引入,不利于版本信息管理的同时,也难以保障版本有效更新和升级。此时就可应用数据挖掘技术来挖掘软件变更历史信息,在对比分析大量代码的情况下,将各模块及模板之间的内部联系充分确立,此时不仅能够为代码高效融合给予保障,同时也能够将漏洞引入问题给予有效避免。
结语:在软件行业不断发展壮大的背景下,相应软件工程的开展,应对全新管理及技术工具加以应用,如此才能确保快速发展需求得以充分满足。作为数据分析技术之一的数据挖掘,其能够保障快速且精确的数据分析及处理得以良好实现,因此在软件工程中应不断探索数据挖掘应用,确保为软件工程提供充足保障。
参考文献:
[1]周鹤.数据挖掘技术在软件工程中的应用探究[J].计算机产品与流通,2020(08):22.
[2]贾淑滟.试论数据挖掘技术在软件工程中的应用[J].山西广播电视大学学报,2019,24(04):79-82.
[3]李高杰.软件工程中数据挖掘技术的应用与研究[J].无线互联科技,2019,16(21):141-142.
[4]张立鉴.数据挖掘技术在软件工程中的应用研究[J].网络安全技术与应用,2019(06):47-48.