预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

刍议软件工程中数据挖掘技术的应用近年来数据挖掘技术在软件工程中产生的作用越来越不可忽视本文主要从程序代码以及结构方面a对数据挖掘技术的应用做了讨论同时也对面向程序执行记录方面的挖掘进行了探索。【关键词】软件工程数据挖掘技术应用信息技术成为新世纪的显著特征广泛覆盖到各行各业软件系统也在不断升级规模日渐增大其开发也越来越复杂。原本存在的直觉型处理模式已经渐渐满足不了工程中的过程、活动以及对象等的控制与管理方面的发展需求。这个时候数据挖掘技术的出现给软件工程带来了发展的重大机会。1关于程序代码及结构方面的挖掘ax1.1克隆代码检测的方法克隆代码实际上指以复用这样的目的为基础的情况下进行拷贝、粘贴的代码段并且偶尔还是会对部分代码进行修改通常情况下可能会有在软件系统里面占有代码的总数量的百分之七到百分之二十三。其实对于其检测是为了避免故障的拷贝传播这样的不利情况发生而且对其检测还能对软件进行演化这个过程里起到不错的维护作用基本上可以说克隆代码检测这样的存在已经是软件工程这个大领域中最先时的数据挖掘需求目前大概可以整理出四中比较常用的方式分别为基于文本对比、标识符对比、度量、程序结构的方法。其一是基于文本对比这样的一个方式它主要是针对程序代码中的一些语句经过对比从而判断而其对后期的一个改进这是通过使用一些技术或工具把字符串的匹配效率给提升上来比如说可以利用Hash函数这样的一项技术用以提升字符串匹配效率而且采用与其函数技术相对应的Duploe这样的工具予以辅助。其二则是基础标识符对比这样的一种方式比如比较通用的一种办法就是在构造分词形成标识符序列前缀树完成的情况下在进行对比与这种方式相对应的有CCFinder或者Dup等等工具。第三种以及第四种方式分别是基于度量的方法与基于程序结构表示的方法这两种方法分别对应的工具是CLAN与GPLAG、Duplix等等。当然除了这四中比较常用的方法还有其他的方式比如频繁项集或潜在语义索引LSI等等。1.2Aspect挖掘软件开发的主要目的是为了处理好程序关注点之间关于散列还有其缠结这两方面出现的问题而提出的新程序开发范型。Aspect挖掘与重构是完成遗留系统改造成面向方面软件而必须要处理好的重要问题。原有的克隆代码检测技术因其某一关注点时不时在程序中呈现出相同或者是相近的代码段而依然作为横切关注点挖掘的有效解决途径。横切关注点挖掘也就是常说的Aspect挖掘。针对一些针对性比较强的一些方法比如基于度量分析或者是形式概念分析等等这类相对而言具有很强针对的办法。利用这样算法而得出的横切代码候选集通常情况下都有点大所以也可以说在候选集指导下开展面向方面的重构如何进行是比较难的问题。实际上数据挖掘技术还可以在许多方面产生不错的影响。1.3代码检索在软件开发方法学中提倡着复用这个重要的原则近年来有一个软件复用这方面领域里的很重重要的议题也就是关于在本地或者是面向WEB这些代码库中检索出符合现阶段项目的代码之类的议题已经出现了几种比较有代代表性的方式比如分类存储并检索、基于输入-输出映射的检索、基于构件形式化描述、基于代码相似性等等方法这些方式主要会涉及到有关于聚类、分类、语义分析等等几种比较主要的技术。由于其Web的应用范围不断的扩大也就不再单单只有文档在其中还有许多犹如GoogleCod以及Mica等等类型的代码搜索引擎也随着那些Web中的可供参考的代码而出现。2关于面向程序执行记录方面的挖掘2.1程序规约方面的挖掘把程序的执行跟踪进行分析后而知晓程序代码体现出来的协议也就是常说的程序规约挖掘。它实际上也就是根据执行跟踪信息二进行的逆向建模不但对于程序理解的实施会产生不错的效果而且对于其程序验证以及程序维护的实施也有着不错的效果。这种挖掘的过程通常是先对需要分析的系统做一个初步的插装做了之后还需要把软件对API亦或是基本模块的调用以及系统状态变量的值做出记录。然后在对这些记录下来的信息进行一个必要的过滤以及聚类还有约筒从而也就可以形成规约。从其规模的形式方面进行分析现阶段有两类规约挖掘的方法即基于自动机的规约挖掘方法和基于规则的规约挖掘方法。2.2故障定位在实际测试这类型的活动中通常情况下若是要保证其测试覆盖的充分性都需要利用许多测试用例进行测试这样一来就很有可能使得能让程序失效的用例数量比较可观从而若是需要用时较短的的情况下全面找出后续程序诊断过程里的故障也就显得很有困难性单单是调试人员的人工检查是很难达到要求的因此这个时候与数据挖掘技术相结合就能比较容易的满足预期的效果。通常情况下程序面对的多次生效状况也有可能是同样一个