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

2022-03-11 08:41
信息记录材料 2022年1期
关键词:漏洞代码数据挖掘

李 娜

(西安文理学院 陕西 西安 710000)

0 引言

在信息化时代下,传统处理技术不能满足信息处理需求,无法精准传输和存储海量信息。而数据挖掘技术,可以高效处理数据信息,实现准确传输与记录。当前,各行业领域开始应用数据挖掘技术,尤其是软件工程领域。该领域发展速度快,软件工程和信息技术发展关联性强。

1 数据挖掘技术概述

数据挖掘,是在海量数据内探测有价值的规律行为,能够应用到研究领域,确保研究人员获取目标数据,同时可以应用到商业领域。数据挖掘技术,能够掌握数据潜在规律,通过历史数据预测未来。此外,技术可检测数据内的异常数据,探索特殊数据对象。数据挖掘系统快速发展,初代系统成为独立应用,能够支持单一算法、若干算法。现代系统可以连接移动数据,并且存储到计算模型内,应用到移动设备中。数据挖掘操作中,能够预处理数据,清除不完整、不一致数据,同时做好数据抽样,维护数据统一性与正确性。深度挖掘数据,应用多种挖掘算法,科学预测和分类数据。在分类操作中,通过模型建设分类新数据与原数据。在分类操作中,能够以模型方式分类数据,建设函数值模型,准确预测数据,涉及到关联算法、聚类算法。按照挖掘过程选择算法与结果,评价整个数据挖掘过程,同时将结果传输至用户,转换信息模式,确保用户能够理解。

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

2.1 数据信息复杂度高

基于当前发展可知,软件工程数据涉及结构化数据、非结构化数据。在非结构化数据中,软件代码的作用显著,且软件版本信息会极大影响结构化数据。结构化数据、非结构化数据的关系密切,通过数据挖掘技术可以优化整合结构化数据、非结构化数据。

2.2 缺乏一致性评价标准

在生产生活中,多领域开始应用数据挖掘技术,通过该项技术,能够评价处理结果。由于评价方式不一致,所以软件工程的评价标准不一致,加剧软件工程信息复杂度[1]。表达方式差异性显著,人员无法比对和应用相关信息,导致软件工程的建设难度加大。

3 数据挖掘技术的应用流程

在软件工程中,应用数据挖掘技术的涉及内容较多,比如数据预处理、数据挖掘、模型表现等。见图1为数据挖掘流程。数据预处理操作中,主要任务与目标在于处理原始数据,清晰划分目标对象,准确分离不同数据。在数据预处理中,注重清理软件工程涉及的原始数据、冗余信息,同时补充缺失数据,形成完整的数据链,为软件开发、软件管理、软件评测提供参考。数据挖掘操作中,为了维护挖掘效果,必须确定挖掘人物,分类、归纳和评估数据,选择针对性挖掘方法。在选择期间,联合数据自身特点、软件工程实际要求,优化调整数据挖掘方法,维护挖掘有效性。为了维护挖掘结果表达完整度,使用知识表示、模型评价方式,确保数据挖掘结果完整性,并以系统化方式呈现,确保技术人员在数据挖掘结果指导下,能够针对性开发、管理、测评软件,提升软件工程时效性,为后续工作开展奠定基础。

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

4.1 应用分析

(1)挖掘结构。数据挖掘技术在结构与流程代码中的应用流程如下:首先,检测克隆代码方法。基于克隆代码角度分析,按照软件工程云隐标准,复制部分代码流程和工具。在特殊情况下,联合实际情况更改部分代码,管理和检测上述代码,避免传递故障问题,尽早实现系统维护目标。应用克隆代码方式,确保软件系统运行顺利性。现阶段,克隆代码检测方式,包括标识符比较、文本对比、程序结构、度量等[2]。不同克隆代码检测技术,都具备独特诊断与评估方式,技术应用期间,按照实际情况选择。其次,Aspect挖掘法,该项技术利用横切关注点获取挖掘方式。软件工程中,应用Aspect挖掘法,优化改造系统。尤其是处理问题时,可以提供多种方式方法。形式概念、度量分析法的效果显著[3]。上述技术方法,需要通过重新构建选集方式,科学处理横切点挖掘问题。合理应用数据挖掘技术,可以发挥出特殊应用功能。数据挖掘示意图见图2。

(2)软件项目管理。在软件工程管理活动中,合理应用数据挖掘技术。在版本控制信息中,挖掘组织关系;版本控制信息挖掘。基于软件工程分析,系统繁琐性比较强,对组织关系挖掘的标准高,优化配置资源,落实应用依据。将软件工程管理流程作为主体,按照电子邮件、共享文件,深度挖掘数据信息,形成不同工种组织关系,避免出现流程混乱问题,全面落实软件工程管理工作[4]。此外,版本控制可以记录文件内部信息变化,将其作为用户掌握版本内容的依据。在版本控制信息中,合理应用数据挖掘技术,降低系统维护成本支出,以此展示出警示作用,体现出系统修复环节披露问题,全面加强软件工程管理水平。

(3)软件开发。数据挖掘技术将数据库作为基础。在发展过程中,先前理论应用到实践中,并且形成深层次科学内容,实现共同发展。软件工程为工程化学科,可以联合不同项目指标、用户需求、资金需求,研究开发出新型产品。在软件工程开发中,整个开发流程繁琐,但是随着技术成熟度提升,开始推广到各领域,显著提升技术应用性。在软件工程中,合理应用数据库挖掘技术[5]。由于受到数据库信息影响,可以存储大量高价值内容,有效指导软件工程开发。同时,软件工程掌握大量信息挖掘内容,可以扩大应用范围。软件工程版本,能够统一化处理开发信息,实时更新软件开发问题,维护软件开发质量。当前,软件开发更换数据信息,包含大量数据挖掘内容,科学划分软件内部,找寻问题并予以处理,可以实现软件开发目标。

(4)扫描软件漏洞。首先,创建测试项目:按照用户需求,制定软件测试方案,明确扫描漏洞类型,扫描方案等;其次,收集漏洞信息。漏洞扫描前提,在于正确认知漏洞,能够准确定义漏洞。收集软件缺陷信息,对属性实行定量化处理。再者,选择理论模型:按照扫描要求,选择适宜数据挖掘模型,按照前期收集数据资料,充分训练模型,获得有效训练集与测试集,确保扫描策略的有效性。最后,扫描漏洞:按照前期获取的模型,能够将其应用到软件扫描测试中。见图3为扫描软件漏洞测试流程。通过数据分类与特征分析,能够提取漏洞信息。按照扫描结果修复漏洞,可以重新扫描处理,确保漏洞修复成功率。见图4为数据漏洞扫描图。

(5)故障检测。基于故障检测,围绕程序执行记录实施数据挖掘,可以提供程序交互模式与说明。上述信息可以定位软件故障,提供检查凭证。对于程序执行数据挖掘来说,属于信息追踪、逆向建模过程,深入了解和优化流程,为后续维护管理提供条件。当前,挖掘方式主要为常规方式,深度挖掘程序行为,找寻对应流程,按照事态落实表述。

4.2 应用方式

(1)分类。数据挖掘技术中,涉及较多分类方式,对于同种预测分类标号执行动作。在实践操作中,建立对应分析模型,联合对应流程标准,输入数据信息,将其作为分析模式应用依据。当前,在软件工程应用中,合理应用数据挖掘技术,分离方式涉及判断树法、网络分类法、支持向量机、贝叶斯分类法等[6]。在分类方式应用中,必须合理应用判断树法,通过贪心算法作为逻辑依据,以由上而下标准,建立判断树框架。在判断树中,包含大量子节点,且不同子节点代表不同软件类别符号。

(2)聚类。聚类主要研究环节包含数据信息,按照标准予以细化,形成不同类型流程,确保相同类型对象的相似性较强,同时保证不同类型对象的差异性。聚类与分类存在本质偏差,聚类过程划分对象,具备不可预测性,即无指导学习。在其他算法处理中,合理应用聚类分析方式,可以扩大应用范围,尤其是数据分析独立性,不仅可以挖掘孤立点,还可以确保检测结果精准性与真实性。

(3)关联。在软件工程数据挖掘技术中,合理应用关联方法。在大规模数据中,形成关联机制。数据挖掘技术中的关联方法,具备如下属性:首先,支持度:在A与B数据集间,出现事物集D;其次,置信度:出现A事物集D中,B存在相同概率。强规则是满足最小支持度、最小置信度规则[7]。在特定事物集D中,挖掘技术关联规则,一般是形成支持度、可信度,比软件终端用户设置最小支持度、最小可信度的关联规则。

4.3 软件工程数据检索

在数据挖掘过程中,包括信息录入、信息查找、信息内容分析等挖掘过程。信息录入,主要是维护录入检索信息对象。数据信息查找,是软件工程最终用户获取信息对象,将检索关键词维护到检索框内。通过查找分析功能,分析研究对象。数据信息分析,是软件工程终端用户联合个人需求,在线阅读、线下分析数据分析需求。软件工程终端用户下载数据,会产生下载信息,简单查找客户获取信息记录,便于分析和处理用户行为。

5 数据挖掘技术应用挑战与未来发展

5.1 技术应用挑战

将数据挖掘技术应用到软件工程中,软件工程数据库具备特殊性,会影响数据挖掘技术应用。从整体角度分析,软件工程应用数据挖掘技术,面临以下挑战:软件工程数据复杂度高,已经成为软件工程数据挖掘面临难题。软件工程中,数据信息包含结构式、非结构式数据类型,但是不是所有数据挖掘算法,都可以应用到软件工程中。应用数据挖掘技术分析软件代码问题时,由于结构式数据类型存在相应比例数据,会增加数据挖掘算法设计难度。

软件工程中,系统数据较为复杂,已经成为数据挖掘技术的应用难题,同时面临非传统分析问题。将数据挖掘技术应用在软件工程中,将数据知识提供为软件用户,已经成为终极应用目标。长期以来,应用数据挖掘技术,涉及传统金融领域、新型电子商务应用,数据信息内容包含文字、图表存储方式。在软件工程中,存储数据内容并非简单统计数据。为了提升软件开发工作配合度,必须关注到软件缺陷、开发模板信息、实际案例、结构设计等,要求软件工程应用数据挖掘技术时,可以研究开发新型信息存储方式,同时包含信息展示、知识评价等[8]。同时,软件工程结果评价中,合理应用数据挖掘技术,面对问题非常多。传统金融与应用领域内,数据挖掘技术形成成熟评价体系,并未完善结果评价体系。由于软件工程开发面对的数据信息复杂,无法通过积极定量方式,高效评价软件工程数据挖掘。

5.2 技术应用发展

在软件工程领域,合理应用数据挖掘技术,与工程程序开发编写相关。然而,编写软件工程代码,会面临动态规则、静态规则、代码重用等问题,对数据挖掘技术的应用影响较大。数据量持续增长,改变了数据信息处理方式,需要调整数据挖掘发展方向。从本质上看,互联网信息应用云处理方式,可以处理数据高复杂度问题,数据挖掘处理效率较高。在信息化时代下,逐渐形成大数据趋势,引导数据挖掘技术发展。所以,在应用数据挖掘技术时,应当深入分析数据处理与管理变化,以此提升技术应用效果。

6 结语

综上所述,在软件工程中应用数据挖掘技术,可以激发数据挖掘技术作用,提升软件工程研发效率,降低管理成本投放,避免出现不良问题。从本文分析可知,数据挖掘技术应用到软件工程中,具备较强的现实意义,值得推广。

猜你喜欢
漏洞代码数据挖掘
漏洞
改进支持向量机在特征数据挖掘中的智能应用
探讨人工智能与数据挖掘发展趋势
基于事故数据挖掘的AEB路口测试场景
基于selenium的SQL注入漏洞检测方法
侦探推理游戏(二)
软件工程领域中的异常数据挖掘算法
神秘的代码
一周机构净增(减)仓股前20名
漏洞在哪儿