数据挖掘在软件工程中的应用在大数据时代,数据挖掘是从海量数据中获取信息的有效手段
这种手段同样可以用于软件的开发上
软件工程中数据挖掘是指:在海量的软件工程数据中利用已有的技术或者开发新的数据挖掘技术和算法,经过提取、分析、表示等步骤,发现对软件开发者有用的信息/知识的过程
为了了解数据挖掘在软件工程中的使用,我一共阅读了三篇文献:《软件工程数据挖掘的研究进展》是一篇概括性的综述类文章,它介绍了软件开发阶段,软件修复性维护阶段和软件改善性维护阶段可能用到数据挖掘的地方以及可能用到的算法
对开发阶段的数据挖掘技术深入讲解的文献是:《usingStructuralContexttoRecommendSourceCodeExamples》
它通过一个自动返回代码模式的插件详细讲解了软件工程中需数据挖掘技术在软件开发阶段的运用原理
为了理解软件开发阶段数据挖掘技术推荐的代码复用模块中关联模式的挖掘,我又阅读了《基于FPclose算法挖掘强亲密地关联模式》
这篇文章让我了解了什么是强关联模式,怎么挖掘强关联模式,从而更好的理解数据挖掘技术返回重用代码模块所用到的机制
软件工程中的数据挖掘和传统意义中的数据挖掘所需要的步骤大致一样,都需要经过数据预处理,数据挖掘,数据分析这三步
只是预处理的数据由传统的数字数据信息变成了软件开发中的必要元素:代码,注释,测试用例和缺陷报告等,单从这个角度上了说,对数据库中的数据进行预处理的难度就提升了不少预处理后的格式化数据才可以用数据挖掘的手段进行挖掘并生成类别,频繁序列和关联规则等挖掘结果
最后再对结果进行分析和同化找到软件工程中重用的代码片段,缺陷位置等信息
数据挖掘本身是一个近几年新晋的热门概念,软件工程中的数据挖掘的实际应用也是一个新概念
根据三篇论文的迭代和相关性,本篇报告主要阐述软件开发阶段遇到的问题
问题分为三种:第一,开发者在已有的代