APP下载

软件工程数据挖掘研究进展

2018-12-28司婉莹

科学与财富 2018年30期
关键词:软件工程数据挖掘研究进展

司婉莹

摘要:就软件工程项目当中数据挖掘技术应用的实际情况来看,信息规则挖掘技术已经逐渐被应用到了很多行业领域当中,成功地完成了对庞大数据的分析和整理,并且将提取到有用信息展现在人们面前,基于此,本文将针对软件工程当中的数据挖掘技术的研究进展展开分析,研究数据挖掘技术之所以被得到广泛应用的原因以及开发过程当中所面临的挑战,旨在能够进一步加深对该项技术的理解。

关键词:软件工程;数据挖掘;研究进展

0 前言

软件工程的数据挖掘技术是数据库知识发现的重要组成部分,具有复杂性、挖掘结果的特殊及多元化等,能在一定程度上可以促进信息产业的进一步发展。软件开发阶段的数据挖掘主要是编写程序。虽然我国数据挖掘技术有了较大的发展,但是此技术还未得到广泛的应用,主要原因是应用软件可以有效提供需要分析的数据。由于大量的数据挖掘法得到了较大的发展,软件的开发水平也有了很大的提高,因此,对于软件工程数据挖掘技术的应用还需要大家对其加强一定的重视。本文具体介绍了软件工程数据挖掘的掘应用现状及发展趋势。

1 数据挖掘的基本概述

软件工程数据主要是指开发软件过程中所涉及的各类数据,如需求分析、可行性分析、设计等文档,开发商通信、软件注释、代码、版本、测试用例和结果、使用说明、用户反馈等信息数据,一般情况下其是软件开发者获取软件数据的唯一来源;而数据挖掘是指在海量数据中集中发现有用知识或信息的过程。

软件工程数据挖掘的工作原理 主要包括数据预处理阶段、挖掘阶段以及评估阶段三个方面。在挖掘阶段主要是运用分类、统计、关联、聚類、异常检测等一系列算法的过程。在评估阶段数据挖掘的意义主要在于其结果应易被用户理解,其结果评估主要有两个环节分别是模式过滤和模式表示。

数据挖掘在计算机软件工程中的研究相当多,它是分析数据的一种新颖方式。目前,随着社会工作的复杂度,需要更加完善的软件,因此对于软件代码的数量也在急剧增加进而导致了数据量的快速增长。而传统的数据计算方式已经不能满足目前对于大量数据进行分析的要求,所以,研究者希望能够发掘出一种新的数据分析方式更高效的整理出有用的数据信息。软件开发中会积累大量的数据,比如说文本数据,测试数据,用户信息数据以及用户体验反馈数据等等,软件开发者为了开发出更好的软件就必须分析和整理这些数据。但是,目前软件工程开发的软件越来越大,其数据越累越复杂对于数据的处理已经超出了人工处理的能力的范畴,所以说继续使用传统数据处理的方式来收集,整理和分析数据已经不可能实现。因此,推动了人们对于新的数据处理方式的研究,所以才提出了软件工程数据挖掘技术。

2 软件工程数据挖掘与传统数据挖掘的区别

2.1 数据的复杂性

与传统的数据挖掘技术相比,由软件工程数据挖掘技术进行系统分析而得到的数据更具复杂性。软件工程数据除了包含软件版本以及软件报告等方面的信息外,还包含了系统中的代码与注释等非结构化的数据,虽然这两种数据不能以统一的方法进行计算,但在两种数据之间却存在着密切的联系,这就使得通过软件工程数据挖掘技术而得到的系统数据更具复杂性。

2.2 挖掘结果的特殊性

在传统的数据挖掘技术应用到软件测试工作后,其测试结果通常经由报表子系统的处理后,以图形或表格的形式呈现出来。但就软件工程数据挖掘技术而言,其所需要具备的功能不单是为用户提供相关测试结果,其更需要为用户提供符合或推翻结果的相关实例或软件缺陷定位方面的信息。

2.3 挖掘结果的多元化评价

数据信息挖掘结果具有多元化的评价或者相关测试、开发结果的评价难以统一是软件工程数据挖掘区别于传统数据挖掘的另一特点。对于传统的数据挖掘技术而言,对挖掘结果的评价已基本形成了统一的意见和评价标准,但就软件工程数据挖掘而言,由于软件的开发人员和测试人员对数据信息的要求较为具体和严格,数据结果也具有较强的复杂性。因此,挖掘结果的评价方法也较为复杂。

综上所述,如何将软件测试的结果和对测试阶段数据预处理方面的结果进行有效表述已成为当前软件工程数据挖掘技术应用的难点。所以,下文则着重从软件工程数据挖掘在软件测试阶段的应用方法展开了详细分析。

3 软件工程数据挖掘在软件开发阶段的问题和解决对策

3.1 重用代码

开发者要了解所需的方法或者类,然后才能进行代码的重用,对相关代码进行浏览。这需要耗费过多的时间,可以在代码库中通过关键字来寻找可以重用的代码,这是由于可以重用的代码必然存在相似的模式,通过上下文结构可以呈现最终的结果,例如类与类的关系。首先要将具有上下文架构和例程的代码库构建出来。其次,开发者将类的信息提交到代码库,并对反馈结果打分,将代码库组建出来。第三,按照高低分来排序查询时的例程,开发者可以自行选用查询结果。

3.2 重用静态规则

利用软件工程数据挖掘来重用静态规则,开发者可以重复利用静态规则,在代码库中用类与类的关系的形式将其保存下来,可以用关联规则来发泄这种规则。首先,搜索代码库中内力的关系,在代码库中保存其与其余类的关系。其次,挖掘关联规则。可以使用Apriori算法来发现出现频率高的规则。第三,裁剪挖掘出的结果。也就是在筛选结中将无用的关联去掉,使开发者能够得到更为精炼的信息。第四,根据关联关系在代码库中出现的频率,用列表的形式呈现频率的排序。

3.3 重用动态规则

首先,开发者要制定动态规则的顺序。其次,将结果利用队列等简单的数据结构保存起来,开发者可以在编译器扩展中检查结果的顺序。第三,反馈违反规则的代码。

在动态规则的具体重用过程中,由于开发者往往不能预先设定动态规则,因此,有研究提出了自动发现这种规则。自动发现规则主要是根据软件开发者的习惯性,以及违反规则可能出现的问题,发现两个事件发生的顺序。例如B事件必然发生在A事件之前,发现此类规则之后就可以规则设定为先后调用的相同函数,然后验证每一个规则,得出每个规则成立与否。由于可能会得到数量非常多的函数,为了降低函数的数目,可以使用一些函数命名规则,将不可能的函数对去除掉,然后再匹配剩下的函数对。

4 结束语

在软件工程的数据挖掘过程中,数据挖掘的概念才逐步被定义,但是所需要挖掘的数据是已经存在的。数据挖掘技术在软件工程中的运用能够降低研发人员的工作量,同时软件工程与数据挖掘的结合是计算机技术必然的发展方向。从数据挖掘的过程来讲,在其整个实施过程和周期中都包括软件工程。而对数据挖掘的技术手段来讲,它在软件工程中的运用更加普遍。在对数据挖掘技术的研究过程中可以发现,该技术虽然已经获得一定的效果,但是还有更多未被挖掘的空间,还需要进一步的研究和发现。

参考文献:

[1]马保平.关于对软件工程中的数据挖掘技术的探讨[J].电子技术与软件工程,2015,19:196-197.

[2]黄世云.软件工程数据挖掘研究进展概述[J].电子技术与软件工程,2014,21:89.

[3]魏敏.数据挖掘技术的持续改进[J].今日科技,2013(23).

[4]徐巍,覃俊.数据挖掘技术在电力负荷管理系统中的应用[J].现代电子技术,2008(10).

猜你喜欢

软件工程数据挖掘研究进展
MiRNA-145在消化系统恶性肿瘤中的研究进展
探讨人工智能与数据挖掘发展趋势
离子束抛光研究进展
独脚金的研究进展
基于并行计算的大数据挖掘在电网中的应用
依托工作室的软件工程实践教学研究
基于工程教育认证的《软件工程》课程教学质量建设研究 
一种基于Hadoop的大数据挖掘云服务及应用
EGFR核转位与DNA损伤修复研究进展
基于GPGPU的离散数据挖掘研究